我想用try catch构造来具体实现。如何检查一个文件是否已经打开(在同一个进程中)
这related question表明,我可以这样做:
try:
open(fileName, 'wb+')
except:
print("File already opened!")
raise
但是,这是行不通的我。我可以多次打开同一个文件,没有任何问题:
fileObj1 = open(fileName, 'wb+')
fileObj2 = open(fileName, 'wb+')
是因为我有Python 3.5吗?或因为我使用Raspbian?
感谢您的帮助!
我可以打开一个文件多次的原因是因为“仅适用于Windows锁定的文件打开时写作。POSIX平台不支持。”有关更多信息,请参阅http://stackoverflow.com/questions/22617452/opening-already-opened-file-does-not-raise-exception。 – maximedupre
如果你在同一个进程中运行,你会如何知道文件是否打开? –
@PadraicCunningham我有一个脚本,用于导入可以打开和关闭文件的外部库/模块。我的脚本需要知道该文件当前是打开还是关闭的方法。 – maximedupre