是的,此主题还有许多其他问题。我查看过这些回复,但我没有看到任何可以提供有用解决方案的回复。
我的问题最简单:
import os, time
hfile = "Positions.htm"
hf = open(hfile, "w")
hf.write(str(buf))
hf.close
time.sleep(2) # give it time to catch up
os.system(hfile) # run the html file in the default browser
我收到此错误消息:"该进程无法访问该文件,因为它正被另一个进程使用"。该程序中没有其他地方引用该文件。
没有其他进程正在使用它,因为我可以在没有任何其他程序错误的情况下访问它,即使我从python控制台运行os.system(file)
也是如此。
使用解锁器没有意义,因为一旦我离开程序,我就可以在浏览器中打开html文件而不会受到系统的投诉。
看起来像是“关闭”。没有正确释放文件。
我一直以这种方式运行程序,除了需要1或2秒的延迟之外没有任何问题。
我在Win7上使用Python 3.4。
有什么建议吗?
答案 0 :(得分:1)
您没有致电close()
。需要:
import os, time
hfile = "Positions.htm"
hf = open(hfile, "w")
hf.write(str(buf))
hf.close() # note the parens
time.sleep(2) # give it time to catch up
os.system(hfile) # run the html file in the default browser
但是为了避免这样的问题,您应该使用上下文管理器:
import os, time
hfile = "Positions.htm"
with open(hfile, 'w') as hf:
hf.write(str(buf))
os.system(hfile) # run the html file in the default browser
上下文管理器将自动处理文件的关闭。