2017-04-12 124 views
0

我想写我的第一个Python脚本,并且它不顺利。Python/Ubuntu - 将目录复制到新目录(不正确的目录路径?)

我想在我的Ubuntu机器上复制整个本地目录,并将它和它的内容放在另一个OS上。我做了一些研究,发现distutils.dir_util.copy_tree(src,dst)应该这样做。

这是我backup_images.py文件的内容:

import os 
import sys 

src = '/nodeGit/code/assets/images' 
dst = '/usr/images_backup' 

distutils.dir_util.copy_tree(src,dst) 

当我运行它,我在每一行出现错误(S)。当我运行在终端./backup_images.py,这是输出:基于第一对夫妇的错误

./backup_images.py: 1: ./backup_images.py: src: not found 
./backup_images.py: 2: ./backup_images.py: dst: not found 
./backup_images.py: 4: ./backup_images.py: Syntax error: word unexpected (expecting ")") 

./backup_images.py: line 1: src: command not found 
./backup_images.py: line 2: dst: command not found 
./backup_images.py: line 4: syntax error near unexpected token `src,dst' 
./backup_images.py: line 4: `distutils.dir_util.copy_tree(src,dst)' 

如果我运行使用sudo(sudo ./backup_images.py)相同的命令,我得到完全不同的错误(src: not founddst: not found),似乎Python无法找到我分配给srcdst文件的目录。它是否正确?

由于更改错误,我不确定如何修复我的代码。

+2

的可能的复制[无法运行从腻子.py文件,语法错误:意外字(预期“)”)(http://stackoverflow.com/questions/33075561/unable-to-run- py-file-from-putty-syntax-error-word-unexpected-expectcting) –

+3

看起来你正在执行带有bash shell而不是python'二进制文件的''py''脚本。 –

+0

是的,这似乎是问题。谢谢。现在我收到一个错误,'名字'distutils'没有定义',但如果我无法修复它/我自己找到答案,那么我可能必须为此打开一个新的问题? .. – velkoon

回答

2

请勿使用distutils来做到这一点。请使用shutil.copytree()来执行目录及其所有文件和子目录的递归副本。

import shutil 

src = '/nodeGit/code/assets/images' 
dst = '/usr/images_backup' 

try: 
    shutil.copytree(src,dst) 
except shutil.Error as exc: 
    # handle any exception that might occur 
    print("Got exception {} while copying {} to {}".format(exc, src, dst))