Python3 file.close显然不会放弃文件,因此Win7命令无法使用它。
即便:
import os, time
hfile = "Positions.htm"
hf = open(hfile, "w")
hf.write(str(buf))
hf.close
time.sleep(2) # give it enough time to do the close
os.system(hfile) # run the html file in the default browser
这会导致来自Win7的错误消息,说它无法访问该文件,因为它当前正在使用中。但是,在python程序终止后很容易访问它。
是的,我知道这里已经提出了类似的问题,但我没有看到一个给出一般答案的问题。
答案 0 :(得分:3)
您忘了拨打close()
hf.close # wrong
hf.close() # right
你可以看到hm.close
只是给你一个绑定方法而不调用它:
>>> hm.close
<built-in method close of _io.TextIOWrapper object at 0x7ffe8ec74b40>
正如Padriac Cunning ham指出的那样,如果你只使用with
语法,则不需要这样做:
with open(hfile, 'w') as hf:
hf.write(str(buf))
# Automatically closed