gpt4 book ai didi

python-3.x - Python argparse 打开多个文件

转载 作者:行者123 更新时间:2023-12-04 10:40:07 24 4
gpt4 key购买 nike

我正在尝试使用 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

我有点知道那是什么意思,但我就是不知道下一步该做什么。

最佳答案

来自文档 nargs :

'+'. Just like '*', all command-line args present are gathered into a list. Additionally, an error message will be generated if there wasn’t at least one command-line argument present.

因此,如果您想打开多个文件,您必须使用 args 遍历列表。例如:

parser = argparse.ArgumentParser()    
parser.add_argument('filename', nargs='+')
args = parser.parse_args()
for file_name in args.filename:
with open(file_name, 'r') as files:
<do your code here>
# a = files.read()
# print(a)

关于python-3.x - Python argparse 打开多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59968446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com