大家好,我对全局变量有疑问。如何将文件名放入变量中并在全局上调用它。我的代码:
for filename in dirs:
if filename.startswith("EPG_NatGeo"):
z = filename
output_file = open('nat.xml','w')
with open (r'{}','r').format(z) as file:
varibale如何成为打开文件?感谢阅读这篇文章!
您根本不需要.format()在这里使用:
with open(z, 'r') as file:
即使你这样做了,你也会在字符串对象上调用它,而不是打开的文件:
with open('foo_{}_bar'.format(z), 'r') as file:
请注意,如果多个值与您的测试匹配,z则在循环中多次重新绑定,您只会将最后一个匹配传递给. 如果没有匹配的值,您将冒着从未被绑定的风险,而您将获得异常。filename.startswith()open()zNameError
用于break选择第一个匹配项,并else:在for循环中使用以检测没有匹配项:
for filename in dirs:
if filename.startswith("EPG_NatGeo"):
z = filename
break
else:
raise ValueError('No filename matched')