【发布时间】: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 Python 和How to copy a file to a remote server in Python using SCP or SSH?,但我想我做错了什么。
我是 Python 新手,所以感谢您的帮助!
【问题讨论】: