打开文件中的Python全局变量

时间:2013-10-03 08:27:48

标签: python file variables global

大家好我对全局变量有疑问。如何将文件名放入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如何成为开放文件?感谢阅读这篇文章!

1 个答案:

答案 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