只是几个指针...
from sys import argv
script, filename, = argv
在这里,您导入 argv 以访问命令行参数,然后期望它包含 2 个参数 - 脚本 (arg 0) 和要打印的文件名 (arg1)。尽管尾随逗号在语法上不是不正确的,但它不是必需的,只是看起来有点奇怪。我通常将其留argv
在内部sys
而不是将其拉入当前名称空间,但这是一个品味问题 - 它并没有真正的区别。我可能还会进行一些错误处理:
import sys
try:
script, filename = sys.argv
except ValueError as e:
raise SystemExit('must supply single filename as argument')
txt = (filename)
print " Here's your file %r :" % filename
print txt.read()
这里txt = (name)
所做的就是使 txt 具有文件名的值。我相信您想要制作txt
一个文件对象,以便您可以.read()
从中:
txt = open(filename)
print "Here's the file contents of:", filename
print txt.read()
print " I'll also ask you to type it again: "
file_again = raw_input ("> ")
txt_again = open (file_again)
print txt.again.read ()
你已经得到了open()
这里,但txt.again.read()
应该是txt_again.read()
其他你会得到一个AttributeError
- 所以只要改变它就可以了。
或者,支持查找的文件对象,因此您可以只rewind
使用文件(因为您已经将文件读到最后,没有什么可再读的了),方法是:
txt.seek(0)
print txt.read()