我试图使用argparse访问多个 .txt 文件,但遇到了一个问题,我无法理解。
parser = argparse.ArgumentParser()
parser.add_argument('filename', nargs='+'. type=argparse.FileType('r'))
args = parser.parse_args()
with open(args.filename, 'r') as files:
#do stuff to files
我正在尝试使用
访问python3 script.py file1.txt file2.txt
但是我遇到了这样的错误:
Traceback (most recent call last):
File "script.py", line 34 in <module>
with open(args.filename, 'r') as files:
TypeError: expected str, bytes or os.PathLike objects, not list
我有点明白那是什么意思,但我就是想不出接下来应该做什么。
FileType
会为您打开文件。args.filename
将是一个已打开文件的列表。只需逐个读取它们。Python 文件代码中没有任何一个可以使用文件或文件名列表。在调试argparse
时,我建议使用print(args)
,这样您就可以更清楚地了解解析器生成的内容。 - hpaulj