我需要写入另一个用户可能已打开的文件。因此,我认为我需要一种尝试写入的方法,如果失败,请为所有用户关闭该文件,然后再次写入。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分钟内没有关闭,脚本将关闭它。同样的功能在这里将是伟大的
我还考虑过让该文件对除运行该脚本的用户之外的所有人都是只读的,但它最终将在服务器级别运行,我不确定我有多喜欢机器人成为共享驱动器上文件的唯一所有者
我绕过了这个问题,只要在写失败时跳过就行了。这个脚本每小时运行一次,所以在更好的答案出现之前,这不是什么大问题
相关问题 更多 >
编程相关推荐