相关疑难解决方法(0)

如何在python中创建文件而不覆盖现有文件

目前我有一个循环,试图通过向文件名字符串添加后缀来查找未使用的文件名.一旦找不到文件,它就会使用无法打开具有该名称的新文件的名称.问题是这个代码在网站中使用,并且可能有多次尝试同时执行相同的操作,因此存在竞争条件.

如果在检查时间和另一个线程中打开时间之间创建一个文件,我如何防止python覆盖现有文件.

我可以通过随机化后缀来最小化机会,但是已经根据路径名的部分最小化了机会.我想用一个可以告诉的函数来消除这个机会,只有在它不存在的情况下才创建这个文件.

我可以使用win32函数来执行此操作,但我希望这可以跨平台工作,因为它最终将托管在linux上.

python multithreading

20
推荐指数
2
解决办法
1万
查看次数

与多个Python脚本共享一个dict

我想dict从一个同时运行的多个Python脚本中访问一个唯一的(键/值)数据库.

如果script1.py更新d[2839],script2.py则应在查询几秒后查看修改后的值d[2839].

什么是Pythonic解决方案呢?

注意:我在Windows上,并且dict应该有最多1M项(键和值都是整数).

python sqlite dictionary key-value-store

13
推荐指数
1
解决办法
1343
查看次数

需要一种方法来确定是否写入了文件

我所处的情况是这样的 - 有一个进程写入文件,有时文件相当大,比如400 - 500MB.我需要知道什么时候写完了.我怎么能确定这个?如果我查看目录,我会在那里看到它,但可能没有写完.此外,这需要远程完成 - 例如在同一个内部局域网上,而不是在同一台计算机上,通常想要知道文件写入完成的过程是在Linux机器上运行的,其中包含写入文件的进程和文件本身在Windows框中.没有桑巴不是一个选择.与该窗口框上的服务进行xmlrpc通信是一种选择,也可以使用snmp检查是否可行.

理想的情况下

  • 可在Linux或Windows上运行 - 这意味着该解决方案与操作系统无关.
  • 适用于任何类型的文件.

够好了:

  • 仅适用于Windows,但可以通过某些库或任何可以通过Python访问的库来完成.
  • 仅适用于PDF文件.

当前最好的想法是定期从Windows框中的某个进程打开有问题的文件,并查看检查PDF结束标记的最后字节并考虑eol差异,因为该文件可能是在Linux或Windows上创建的.

python linux windows pdf file-io

6
推荐指数
2
解决办法
5549
查看次数