大家好,我对全局变量有疑问。如何将文件名放入变量中并在全局上调用它。我的代码:
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()
z
NameError
用于break
选择第一个匹配项,并else:
在for
循环中使用以检测没有匹配项:
for filename in dirs:
if filename.startswith("EPG_NatGeo"):
z = filename
break
else:
raise ValueError('No filename matched')