2017-04-12 9 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) 

が、私はすべての行にエラー(複数可)を取得します。私はターミナルで./backup_images.pyを実行すると、これが出力されます。

./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)と同じコマンドを実行した場合、私は完全に別のエラーを取得:

最初のカップルのエラーに基づいて
./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 ")") 

これは、(src: not founddst: not found)、私はsrcdstファイルを割り当てたディレクトリをPythonが見つけることができないようです。これは正しいです?

エラーが変化するため、コードを修正する方法がわかりません。

+2

[パテ、構文エラーからの.pyファイルを実行することができません:ワード(期待 ")" 予期しない)]の可能な重複に(http://stackoverflow.com/questions/33075561/unable-to-run- py-file-from-putty-syntax-error-word-unexpected-expecting) –

+3

'' py''スクリプトを '' python''バイナリの代わりにbashシェルで実行しているようです。 –

+0

はい、それは問題と思われました。ありがとう。今、私はエラーが発生しています、 'name '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)) 
関連する問題