在python中关闭文件之前阻止

2024-10-01 13:40:32 发布

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

我已经将Python设置为创建并打开一个txt文件[seeOpen document with default application in Python],然后手动对其进行一些更改并关闭。在这完成后,我希望Python打开下一个txt文件。我目前已经设置了这个设置,以便python在关闭文件后等待我输入的键命令,并在该键上打开下一个命令供我编辑。在

有没有一种方法可以让Python在上一个文档关闭后立即打开下一个文档(即跳过让Python等待一个键被单击)。。。我将重复这个任务大约100000次,因此每一秒的点击都会非常迅速地增加。我基本上想摆脱与python的接口,只想让下一个txt文件在前一个文件关闭时自动出现。在

我不知道该怎么做,但我一直在思考,等待前一个文件关闭(不确定python是否有方法可以判断文件是否打开/关闭)。在

作为参考,我使用python2.7和Windows。在


Tags: 文件方法in文档命令txtdefault编辑
3条回答

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

比如说:

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

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

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构造函数,因为这似乎是一种更优雅的方式(也允许在不需要编辑的情况下关闭文件)。在

相关问题 更多 >