0

そのため、サブディレクトリ (より多くのレベル) とファイルを含む可能性のあるディレクトリへのパスをユーザーが設定できるようにしました。

コードで os.walk() を使用して、ディレクトリ全体をスキャンします。

for root, subdirs, files in os.walk(thispath):
  for myfile in files:
    shutil.move(os.path.realpath(myfile), os.path.join(thispath,filename))

しかし、「os.path.realpath(myfile)」は、「myfile」の絶対パスを提供する代わりに(「os.path.abspath(myfile)」も試しましたが、基本的に同じことを行います)、どこからのパスかを教えてくれますスクリプトが実行されています。myfile ファイル名が添付された os.chdir() のように。基本的に os.path.realpath(myfile) = os.path.join(os.chdir(),myfile) ですが、 myfile は明らかに他のランダムなディレクトリにあるため、そうすべきではありません。

そのファイルを移動しようとすると、存在しないと表示されますが、実際には、検索するパスにありません。

歩いているファイル (「myfile」) の絶対パスを取得するにはどうすればよいですか?

4

1 に答える 1

1
for root, subdirs, files in os.walk(this_path):
  for my_file in files:
    shutil.move(os.path.join(root, my_file), os.path.join(this_path, filename))
于 2011-10-06T23:33:18.847 に答える