小编Nia*_*ora的帖子

在 sftp 之前检查远程计算机上是否存在目录

这是我的函数,它使用 paramiko 将文件从本地计算机复制到远程计算机,但它不会检查目标目录是否存在并继续复制,并且如果远程路径不存在则不会抛出错误

def copyToServer(hostname, username, password, destPath, localPath):
    transport = paramiko.Transport((hostname, 22))
    transport.connect(username=username, password=password)
    sftp = paramiko.SFTPClient.from_transport(transport)
    sftp.put(localPath, destPath)
    sftp.close()
    transport.close() 
Run Code Online (Sandbox Code Playgroud)

我想检查远程计算机上的路径是否存在,如果不存在则抛出错误。

提前致谢

python paramiko python-2.7 python-3.x

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

限制并行工作的线程数

我正在创建一个函数将文件从本地机器复制到远程创建线程并行执行sftp

def copyToServer():
    //does  copy file given host name and credentials

for i in hostsList:
    hostname = i
    username = defaultLogin
    password = defaultPassword
    thread = threading.Thread(target=copyToServer, args=(hostname, username, password, destPath, localPath))
    threadsArray.append(thread)
    thread.start()
Run Code Online (Sandbox Code Playgroud)

这会创建线程并开始并行复制但我想限制它一次处理50个线程,因为服务器总数可能太多

python multithreading paramiko python-multithreading

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