【发布时间】:2016-09-27 16:30:35
【问题描述】:
我想通过 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平台不会。”。请参阅stackoverflow.com/questions/22617452/… 了解更多信息。
-
如果你在同一个进程中运行,你怎么会不知道文件是否打开?
-
@PadraicCunningham 我有一个脚本,可以导入可以打开和关闭文件的外部库/模块。我的脚本需要一种方法来了解文件当前是打开还是关闭。
-
所以您实际上并没有使用
wb+打开文件?这意味着读取一个文字,但它会先截断数据,只有在你写了一些东西并返回后才能读取它 -
@PadraicCunningham 你是什么意思?我实际上不需要在我的脚本中打开文件。在我的问题中,我这样做是因为我预计如果文件已经打开,它会引发错误,从而让我检查文件是打开还是关闭。
标签: python file-io raspbian python-3.5