我有两个 .txt 文件,我将它们作为命令行参数传递给程序。我想阅读全文,不看第一行。
patterns = ["".join(sys.argv[1].readlines()[1:])]
text = "".join(sys.argv[2].readlines()[1:])
这将返回此错误:
File "trie_builder.py", line 186, in main
patterns = ["".join(sys.argv[1].readlines()[1:])]
AttributeError: 'str' object has no attribute 'readlines'
如果我将文件 'xx.txt' 传递给它,sys.arg[1] 怎么可能是一个字符串?
请您参考如下方法:
您将文件名称 指定为命令的参数,但您没有打开它们。
使用内置的 open :
f1 = open(sys.argv[1])
# f1.readlines()...
并且:
f2 = open(sys.argv[2])
# f2.readlines()...
或者更好:
with f as open(sys.argv[1]):
# f.readlines()...
目前您将文件名视为文件,但事实并非如此。
并尽量避免大的单行代码,它们很难维护和修改...:-)
