gpt4 book ai didi

Python 关闭其他用户可能打开的文件

转载 作者:行者123 更新时间:2023-12-05 07:05:55 26 4
gpt4 key购买 nike

我需要写入另一个用户可能已打开的文件。所以我想我需要一种方法来尝试写入它,如果失败,为所有用户关闭文件,然后再次写入。 Python 中有没有办法做到这一点?

with open(biFile, 'w') as consolidate:
outputData.to_csv(consolidate, header=True, index=False)

我有时得到的错误是:

PermissionError                           Traceback (most recent call last)
<ipython-input-53-6a5da56e94fb> in <module>()
373 consolidateDate = consolidateDate + datetime.timedelta(days=32)
374 consolidateDate = consolidateDate.replace(day=1)
--> 375 with open(biFile, 'w') as consolidate:
376 outputData.to_csv(consolidate, header=True, index=False)
377 #=================================================================================

PermissionError: [Errno 13] Permission denied: '\\\\SERVERNAME\\FOLDERNAME\\File.csv'

我最初的想法是,如果该文件处于打开状态,则直接跳过写入该文件。该脚本每小时运行一次,所以没什么大不了的。但是一位同事刚刚告诉我我们的一位实习生曾经写过一个脚本,该脚本将检查是否有人打开了文件,如果 3 分钟内没有关闭,脚本将关闭它。同样的功能在这里会很棒。

我还考虑过让除运行此脚本的用户以外的所有人都可以读取该文件,但它最终将在服务器级别运行,我不确定我是否喜欢机器人成为我们的文件的唯一所有者共享驱动器。

最佳答案

我已经通过在失败时跳过写入来解决了这个问题。该脚本每小时运行一次,因此在出现更好的答案之前这不是什么大问题。

    tryCount = 0
while tryCount < 5:
try:
with open(biFile, 'w') as consolidate:
outputData.to_csv(consolidate, header=True, index=False)
tryCount = 5
except:
tryCount = tryCount =+ 1
if tryCount < 5:
logEvent('BI File Write Error #'+str(tryCount), False)
else:
logEvent('BI File Write Failed', False)

关于Python 关闭其他用户可能打开的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62640425/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com