openfi中的Python全局变量

2024-06-26 14:48:34 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好,我有关于全局变量的问题。如何将文件名放入varibale并在global上调用它。 我的代码:

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怎么会变成文件打开?感谢您阅读这篇文章!在


Tags: 代码inforif文件名openfilenameglobal
1条回答
网友
1楼 · 发布于 2024-06-26 14:48:34

这里根本不需要使用.format()

with open(z, 'r') as file:

即使你这么做了,你也应该在string对象上调用它,而不是在打开的文件中调用它:

^{pr2}$

请注意,z在循环中被多次重新绑定。如果多个filename值与.startswith()测试匹配,则只会将最后一个匹配项传递给open()。如果no值匹配,您将面临z从未被绑定的风险,您将得到一个NameError异常。在

使用break选择第一个匹配项,并在for循环中使用else:来检测没有匹配:

for filename in dirs:
    if filename.startswith("EPG_NatGeo"):
        z = filename
        break
else:
    raise ValueError('No filename matched')

相关问题 更多 >