【问题标题】:Opening Pathway to Remote Directory (Python)打开远程目录路径(Python)
【发布时间】:2015-07-30 12:49:20
【问题描述】:

我正在编写将图像从本地目录中的文件夹复制到远程目录的代码。我正在尝试使用 scp。

所以在我的目录中,有一个文件夹,其中包含带有图像的子文件夹。主文件夹中还有一些图像不在子文件夹中。我正在尝试遍历子文件夹和单个图像并按公司对它们进行排序,然后为这些图像创建相应的公司文件夹并组织并复制到远程目录中。

我在远程目录中创建新公司文件夹时遇到问题。

这就是我所拥有的:

def imageSync():
    path = os.path.normpath("Z:\Complete")
    folders = os.listdir(path)
    subfolder = []

    #separates subfolders from just images in complete folder
    for folder in folders:
        if folder[len(folder)-3:] == "jpg":   
            pass    
        else:
            subfolder.append(folder)

    p = dict()
    for x in range(len(subfolder)):
        p[x] = os.path.join(path, subfolder[x])

    sub = []
    for location in p.items():
        sub.append(location[1]) 

    noFold= []
    for s in sub:
        path1 = os.path.normpath(s)
        images = os.listdir(path1)
        for image in images:   
            name = image.split("-")
            comp = name[0]
            pathway = os.path.join(path1, image)
            path2 = "scp " + pathway + " blah@192.168.1.10: /var/files/ImageSync/" + comp
            pathhh = os.system(path2)
            if not os.path.exists(pathhh):
                noFold.append(image)

代码还有更多内容,但我认为上面的部分有助于解释我想要做什么。

我创建了一个ssh 键,希望使os.system 工作,但是当我希望它成为远程服务器的路径时,Path2 返回 1。 (我试过这个:How to store the return value of os.system that it has printed to stdout in python?

另外,我如何正确检查远程目录中的公司文件夹是否已经存在?

我查看了Secure Copy File from remote server via scp and os module in PythonHow to copy a file to a remote server in Python using SCP or SSH?,但我想我做错了什么。

我是 Python 新手,所以感谢您的帮助!

【问题讨论】:

    标签: python directory scp


    【解决方案1】:

    试试这个将目录和嵌套的子目录从本地复制到远程:

    cmd = "sshpass -p {} scp -r {}/* root@{}://{}".format(
        remote_root_pass, 
        local_path, 
        remote_ip, 
        remote_path)
    os.system(cmd)
    

    别忘了导入操作系统, 您可以检查返回的退出代码(0 表示成功)

    您可能还需要“yum install sshpass”

    然后更改 /etc/ssh/ssh_config StrictHostKeyChecking 询问 到: StrictHostKeyChecking no

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      • 2012-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-12
      相关资源
      最近更新 更多