只是一对夫妇的指针...
from sys import argv
script, filename, = argv
在这里,你要导入的argv访问命令行参数,然后期望它包含2个参数 - script(arg 0)和要打印的文件名(arg1)。尽管尾随的逗号不是合成不正确的,但它不是必需的,只是看起来有点奇怪。我在sys
的内部正式离开argv
,而不是将它拉入当前的命名空间,但这是一个有趣的问题 - 它没有真正的区别。我可能会扔在一个比特的错误处理,以及:
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()
*您如何运行脚本*? – nneonneo
在通过power shell进行空闲时python filename.py脚本文件名 – user1724593