linux小白求助:如何编写python程序模拟linux的cat命令?题目具体如下。

%​ ​cat​ ​in
this​ ​is​ ​the​ ​contents​ ​of​ ​in
%​ ​cat​ ​test
this​ ​is​ ​the​ ​contents​ ​of​ ​test
%​ ​python3​ ​cat.py​ ​“in”​ ​“test”
this​ ​is​ ​the​ ​contents​ ​of​ ​in
this​ ​is​ ​the​ ​contents​ ​of​ ​test
需要编写的是cat.py程序,程序是在命令行运行的

首先我们先认识一下cat指令的主要功能,如果不加任何参数,cat $file, 就是将文件内容输出到标准输出。

如果我们所要写的python脚本就是为了实现这一功能,那么就很好办了,以下是样例代码:

import re
import sys
import os

def main():
    """
    """
    file_list = sys.argv[1:]
    for file_name in file_list:
        if os.path.exists(file_name):
            with open(file_name) as file_obj:
                print file_obj.read()
        else:
            print "File %s doesn't exist!" % file_name

if __name__ == "__main__":
    reload(sys)
    sys.setdefaultencoding("utf-8")
    main()

linux 下wc 模拟

import re
import sys
import os

def main():
    """
    """
    file_list = sys.argv[1:]
    for file_name in file_list:
        count = 0
        if os.path.exists(file_name):
            with open(file_name) as file_obj:
                for line in file_obj:
                    count += 1
            print "File %s has %d line" % (file_name, count)
        else:
            print "File %s doesn't exist!" % file_name

if __name__ == "__main__":
    reload(sys)
    sys.setdefaultencoding("utf-8")
    main()