在Python中打开文件时,推荐的语法是:
with open(outfile, 'wb') as f:
pass
这会创建一个局部变量f
,即使我之前已声明f
(在我的情况下,它是global f
)。如何让它使用现有变量(全局变量)?
答案 0 :(得分:2)
您可以使用global
语句。 with ... as f
语句实际上只是对f
的分配,因此适用与f = ...
相同的规则
global f
with open(outfile, "wb") as f:
...
另外,请记住,with语句会自动关闭文件,让全局引用一个关闭的文件,这是无用的。
当然,最好不要使用全局变量...