【发布时间】:2018-04-17 02:26:42
【问题描述】:
我目前正在使用 Raspian OS 和 Libre Office。我正在使用 Python 3。 我正在尝试创建一个 RFID 门锁来记录每个进入的用户。
我遇到的问题是,如果有人在查看日志后打开 .csv 文件,我的脚本将无法写入。所以它会抛出一个错误。我希望我的脚本在打开该文件的情况下关闭当前打开的实例(窗口),然后我可以打开脚本并写入文件。
该文件与我的 python 脚本位于同一文件夹中。
我试过了:
os.system("TASKKILL /IM Entry_Log.csv")
没有运气。
这是我现在拥有的功能。我需要在我的异常声明中关闭该文件。
def unlockDoor(x):
#Add GPIO Output here later
while True:
try:
userDictionary = shelve.open("User_Dictionary")
print('Welcome,', userDictionary[x])
print('Door Unlocked')
with open("Entry_Log.csv", "a") as log:
log.write("{0},{1},{2}\n".format(time.strftime("%Y-%m-%d %H:%M:S"), x, userDictionary[x]))
userDictionary.close()
except:
#close the open window for "Entry_Log.csv" here <--
【问题讨论】:
-
我很确定
TASKKILL是一个 Windows 命令行命令,而不是一个 linux 命令。您可以尝试使用 linux 等效命令 -
好的,搜索等效项。有谁知道这个等价物可能是什么?
-
pkill我猜 -
我为
pkill看到的所有内容都建议停止其他python 脚本,而不是关闭文件。 -
os.kill(pid,sig)怎么样。不确定 pid 和 sig 需要是什么
标签: python python-3.x file window