3

shutil.copy()ファイルを別のディレクトリにコピーするように機能させたい。次のコードを実行しようとしています。

copy(open("/home/dizpers/pytest/testfile1.txt", "r"), "/home/dizpers/pytest")

しかし、Pythonシェルは私にエラーメッセージを表示します:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python2.7/shutil.py", line 116, in copy
    dst = os.path.join(dst, os.path.basename(src))
  File "/usr/lib/python2.7/posixpath.py", line 112, in basename
    i = p.rfind('/') + 1
AttributeError: 'file' object has no attribute 'rfind'

だから、なぜこの問題が発生するのか理解しています。関数でファイルを開きますopen()。そして、私もこのようなディレクトリを開くべきだと思います。これどうやってするの?

前もって感謝します!

4

2 に答える 2

5
shutil.copy ("somefile.txt","otherfile.txt")
于 2012-08-08T17:46:50.030 に答える
5

shutil.copyファイルオブジェクトとパスではなく、2つのパスを取ります。最初の引数にファイルオブジェクトを作成するのではなく、パスを指定するだけです。

shutil.copyfileobj最初の引数にファイルオブジェクトを使用する必要がある場合に使用できますが、2番目の引数にもファイルオブジェクトを使用する必要があります。

于 2012-08-08T17:47:16.813 に答える