Unixコマンド in Python #1 cat
Pythonになれるために不定期にUnixコマンドをPythonで書いてみることにした。
まずはcat。
#!/usr/bin/env python import sys import fileinput def usage(): sys.stderr.write("Usage: %s [-n] [file ...]\n" % sys.argv[0]) def raw_print(args): for line in fileinput.input(args): print line, def cook_print(args): for line in fileinput.input(args): print "%6d\t%s" % (fileinput.lineno(), line), def main(): import getopt try: opts, args = getopt.getopt(sys.argv[1:], 'n') except getopt.GetoptError: usage() sys.exit(1) nflag = False for o, a in opts: if o == '-n': nflag = True try: if nflag: cook_print(args) else: raw_print(args) except IOError, (errno, strerror): sys.stderr.write("%s: %s %s\n" % (sys.argv[0], fileinput.filename(), strerror)) if __name__ == '__main__': main()