阻止文件在python中关闭

时间:2014-11-24 04:01:23

标签: python python-2.7

我设置了Python来创建和打开一个txt文件[请参阅Open document with default application in Python],然后我手动对其进行一些更改和关闭。在此完成后,我希望Python能够打开下一个txt文件。我目前有这个设置,以便python等待我关闭文件后键入的键命令,并在该键上,它打开下一个我可以编辑。

有没有办法让Python在前一个文档关闭后立即打开下一个文档(即跳过让python等待点击一个键)。 ......我将重复此任务大约100,000次,因此每一秒钟的点击都会非常快速地完成。我基本上想要摆脱与python的接口,只需让前一个txt文件在关闭之前立即自动出现。

我无法弄清楚如何做到这一点,但是正在考虑等待前一个文件关闭(不确定是否有办法使python能够判断文件是否是打开/关闭)。

供参考,我使用的是python2.7和Windows。

3 个答案:

答案 0 :(得分:3)

使用子进程模块的Popen Constructor打开文件。它将返回一个带有wait()方法的对象,该方法将一直阻塞,直到文件关闭。

答案 1 :(得分:0)

如下:

for fname in list_of_files:
    with open(fname, mode) as f:
        # do stuff

答案 2 :(得分:0)

如果感兴趣,使用修改时间方法的以下代码有效:

os.startfile(text_file_name)        
  modified = time.ctime(os.path.getmtime(text_file_name))
created = time.ctime(os.path.getctime(text_file_name))

  while modified == created:
  sleep(0.5)    
modified = time.ctime(os.path.getmtime(text_file_name)) 
  print modified

  print "moving on to next item"
  sleep(0.5)
sys.stdout.flush()

虽然我认为将来会使用Popen构造函数,因为这似乎是一种更优雅的方式(并且还允许在不需要编辑的情况下关闭文件的情况)。