gpt4 book ai didi

Python:函数 arg 的文件数量未知

转载 作者:太空宇宙 更新时间:2023-11-03 17:24:01 26 4
gpt4 key购买 nike

让这个工作代码读取 2 个文件并重新打印它们:

import sys
args = sys.argv[1:]

def funcprint(arg1, arg1):
with open(arg1, "r") as inp:
for line in inp:
print(line)
with open(arg2, "r") as inp:
for line in inp:
print(line)

funcprint("C:/file1.txt", "C:/file2.txt")

但是如何将任意数量的文件传递给该函数呢?使用 *arg 而不是 12 会导致 TypeError: invalid file:,即使只有 1 个传递的文件.

作为一个附带问题,如果所有文件都位于同一文件夹中,是否有办法缩短函数调用?类似于 funcprint("C:/": "file1.txt", "file2.txt")

最佳答案

如果您想传递任意数量的文件名,您可以这样做:

def funcprint(*args):
for f in args:
with open(f, 'r') as inp:
...

funcprint("C:/file1.txt", "C:/file2.txt")

如果文件都在同一目录中,您可以这样做:

def funcprint(dir, *args):
for f in args:
with open('{}{}'.format(dir, f), 'r') as inp:
...

funcprint('C:/', 'file1.txt', 'file2.txt')

关于Python:函数 arg 的文件数量未知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32814763/

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