使用.py脚本运行.txt文件

时间:2017-12-20 09:49:17

标签: python python-2.7

我无法在Windows终端上的文件small.txt上读取并执行函数cat(filename)。 python脚本名为hello.py。运行hello.py small.txt并不会显示结果。脚本代码如下:

    import sys
    def cat(filename):
        f=open (filename,'rU')
        text = f.read()
        print text
    def main():
        cat (sys.agrv[1])
    # This is the standard boilerplate that calls the main() function.
    if __name__ == '__main__':
        main()

   RESTART: C:\Users\WELCOME\google-python-exercises\hello.py

   Traceback (most recent call last):
   File "C:\Users\WELCOME\google-python-exercises\hello.py", line 34, in <module>
   main()
   File "C:\Users\WELCOME\google-python-exercises\hello.py", line 30, in main
   cat (sys.agrv[1])
   AttributeError: 'module' object has no attribute 'agrv'

1 个答案:

答案 0 :(得分:0)

有一个拼写错误agrv。阅读文件后,您没有关闭它。试试这个:

import sys

def cat(filename):    
    f = open(filename)
    text = f.read()
    f.close()
    print(text)

def main():
    cat(sys.argv[1])

if __name__ == '__main__':
    main()

我会使用cat()语句重写with函数,因为它会关闭文件。

def cat(filename):    
    with open(filename) as f:
        text = f.read()
    print(text)

Python Tutorial说:

  

在处理文件对象时,最好使用with关键字。优点是文件在套件完成后正确关闭,即使在某个时刻引发了异常。