Skip to main content
 首页 » 编程设计

python之为什么这些文本文件以字符串形式打开

2025年05月04日43softidea

我有两个 .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()... 

目前您将文件名视为文件,但事实并非如此。

并尽量避免大的单行代码,它们很难维护和修改...:-)