如何将参数列表传递给函数,以便它在python中按顺序(而不是同时在列表的所有元素上)执行它?
这是一个计算txt上的数字的函数。首先,它在目录中导航。为此,我必须使用os.path.join如何将参数列表传递给函数,以便它在python中按顺序(而不是同时在列表的所有元素上)执行它?,python,function,Python,Function,这是一个计算txt上的数字的函数。首先,它在目录中导航。为此,我必须使用os.path.join def checkmove(subject): os.chdir(os.path.join(directory, subject, 'func', 'run 1')) print("Check for volumes repaired in " + subject+ ":") try: f = open('art_rep
def checkmove(subject):
os.chdir(os.path.join(directory, subject, 'func', 'run 1'))
print("Check for volumes repaired in " + subject+ ":")
try:
f = open('art_repaired.txt', 'r')
except:
print("'art_repaired.txt' not found")
tot_vols = 0
for line in f:
parts = line.split()
tot_vols += len(parts)
print("Volumes repaired in run 1: "+ str(tot_vols))
del f, tot_vols, parts
问题是我需要将一系列参数(主题)传递给函数,以便按顺序逐个对列表中的每个元素执行函数
当然,如果我尝试,它会给我错误:
TypeError:join()参数必须是str、bytes或os.PathLike对象,而不是“list”
我怎样才能做到这一点呢?您应该检查一下函数
map
。它将给定函数应用于列表中的所有元素谢谢,这刚刚解决了我的问题。splat运算符帮助您将列表作为参数
def checkmove(*subject):
for foobar in subject:
os.chdir(os.path.join(directory, subject, 'func', 'run 1'))
whatyouwanthere