大家好我对全局变量有疑问。如何将文件名放入varibale并在全局调用它。 我的代码:
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如何成为开放文件?感谢阅读这篇文章!
答案 0 :(得分:2)
您根本不需要使用.format()
:
with open(z, 'r') as file:
即使你这样做了,你也要在字符串对象上调用它,而不是打开文件:
with open('foo_{}_bar'.format(z), 'r') as file:
请注意,如果多个z
值与您的filename
测试匹配,.startswith()
会在您的循环中重新绑定一次,您只会将最后一个匹配传递给{{1 }}。如果没有值匹配,则会冒open()
从未受到约束的风险,您将获得z
例外。
使用NameError
选择第一个匹配项,并使用break
循环上的else:
来检测是否未匹配:
for