小编142*_*424的帖子

防止多处理lib中的文件句柄继承

在Windows上使用多处理,似乎任何打开的文件句柄都由生成的进程继承.这具有锁定它们的令人不快的副作用.

我对以下任一方面感兴趣:
1)防止继承
2)从生成的进程中释放文件的方法

考虑以下代码在OSX上工作正常,但在os.rename上的窗口崩溃

from multiprocessing import Process
import os

kFileA = "a.txt"
kFileB = "b.txt"

def emptyProcess():
    while 1:
        pass

def main():
    # Open a file and write a message
    testFile = open(kFileA, 'a')
    testFile.write("Message One\n")

    # Spawn a process
    p = Process(target=emptyProcess)
    p.start()

    # Close the file
    testFile.close()

    # This will crash
    # WindowsError: [Error 32] The process cannot access the file
    #               because it is being used by another process
    os.rename(kFileA, kFileB)

    testFile = open(kFileA, 'a') …
Run Code Online (Sandbox Code Playgroud)

python windows handle multiprocessing

11
推荐指数
2
解决办法
3428
查看次数

在机器之间共享源代码

跨本地计算机共享源的最佳方法是什么?

我正在开发一个带有svn存储库的跨平台项目.我在一个平台(可能是osx)上执行结账,并进行更改.然后我必须在其他平台上测试我修改过的代码(xp,vista,...)然后再检查它.在机器之间手动复制文件或从网络驱动器运行所有内容是一件痛苦的事情......我有更好的选择吗?

language-agnostic svn version-control

3
推荐指数
1
解决办法
292
查看次数