【问题标题】:How to open multiple connections using popen in python如何在python中使用popen打开多个连接
【发布时间】:2025-12-23 02:40:16
【问题描述】:

我正在尝试将文件从文件系统“A”复制到文件系统“B”。所以我需要使用 2 个不同的用户名/密码同时连接到 A 和 B。 我目前的实现如下:

def main():
    CMD_src = 'NET USE ' + network_scr + ' /User:' + user_src + ' ' + password_src
    CMD_dst = 'NET USE ' + network_dst + ' /User:' + user_dst + ' ' + password_dst
    conn_src = subprocess.Popen(CMD_src, stdout=subprocess.PIPE, shell=True)
    conn_dst = subprocess.Popen(CMD_dst, stdout=subprocess.PIPE, shell=True)
    copy()
    conn_src.kill()
    conn_dst.kill()

这会给我一个错误“不允许同一用户使用多个用户名与服务器或共享资源建立多个连接。断开与服务器或共享资源的所有先前连接,然后重试。”

在这种情况下谁能帮助我?非常感谢!!

【问题讨论】:

  • 这似乎与 Python 无关,与您的系统拒绝执行您要求的操作有关:您要求它连接到某些服务器同时有两个不同的用户,它说“你不能那样做”。您必须找到一种方法来实现目标,同时仅以一个用户身份连接,例如,以用户 A 的身份获取文件并将其保存在本地某个地方,以用户 A 的身份断开连接,以用户 B 的身份连接,将文件复制到远程,丢弃本地副本。

标签: python subprocess popen


【解决方案1】:

您可以尝试在两个不同的线程中连接到两个不同的服务器。 http://docs.python.org/2/library/threading.html

【讨论】: