ファイルの行番号を追加して表示するスクリプト
ブログなんかにソースをコピペするときに行数をつけるためのPythonスクリプトです。
(シェルでやればいいのに、というツッコミは我慢していただければ・・・)
▼add_line_number.py
#!/usr/bin/env python # -*- coding:utf-8 -*- import os.path import sys def check_argv(): if len(sys.argv) == 0 and len(sys.argv) > 2: return False else: return True def add_line_number(target): line_number = 1 for line in open(target, 'r'): line = line.rstrip() if line: print str(line_number) + ": " + line line_number += 1 else: print "\n" def main(): if check_argv(): target = sys.argv[1] if os.path.exists(target): add_line_number(target) else: print "Failure : No File exists" else: sys.exit() if __name__ == '__main__': main()
■実行結果 (自分自身を引数に)
1: #!/usr/bin/env python 2: # -*- coding:utf-8 -*- 3: import os.path 4: import sys 5: def check_argv(): 6: if len(sys.argv) == 0 and len(sys.argv) > 2: 7: return False 8: else: 9: return True 10: def add_line_number(target): 11: line_number = 1 12: for line in open(target, 'r'): 13: line = line.rstrip() 14: if line: 15: print str(line_number) + ": " + line 16: line_number += 1 17: else: 18: print "\n" 19: def main(): 20: if check_argv: 21: target = sys.argv[1] 22: if os.path.exists(target): 23: add_line_number(target) 24: else: 25: print "Failure : No File exists" 26: else: 27: sys.exit() 28: if __name__ == '__main__': 29: main()
よくよく考えてみたら、スペース4つの置き換えも一緒にやればよかった。