Pythonを使用して、すべてのテキストファイルを1つのフォルダーから別のフォルダーに移動します。私はこのコードを見つけました:
import os, shutil, glob
dst = '/path/to/dir/Caches/com.Apple.Safari/WebKitCache/Version\ 4/Blobs '
try:
os.makedirs(/path/to/dir/Tumblr/Uploads) # create destination directory, if needed (similar to mkdir -p)
except OSError:
# The directory already existed, nothing to do
pass
for txt_file in glob.iglob('*.txt'):
shutil.copy2(txt_file, dst)
Blob
フォルダー内のすべてのファイルを移動する必要があります。エラーは発生していませんが、ファイルを移動していません。
これを試して..
import shutil
import os
source = '/path/to/source_folder'
dest1 = '/path/to/dest_folder'
files = os.listdir(source)
for f in files:
shutil.move(source+f, dest1)
あるフォルダから別のフォルダに「.txt」ファイルをコピーするのは非常に簡単で、質問にはロジックが含まれています。以下のように、不足している部分のみが正しい情報に置き換えられます。
import os, shutil, glob
src_fldr = r"Source Folder/Directory path"; ## Edit this
dst_fldr = "Destiantion Folder/Directory path"; ## Edit this
try:
os.makedirs(dst_fldr); ## it creates the destination folder
except:
print "Folder already exist or some error";
以下のコード行は、*。txt拡張子のファイルをsrc_fldrからdst_fldrにコピーします
for txt_file in glob.glob(src_fldr+"\\*.txt"):
shutil.copy2(txt_file, dst_fldr);
これでうまくいくはずです。また、shutilモジュールの documentation を読んで、ニーズに合った関数(shutil.copy()、shutil.copy2()、shutil.copyfile()またはshutil.move())を選択します。
import glob, os, shutil
source_dir = '/path/to/dir/with/files' #Path where your files are at the moment
dst = '/path/to/dir/for/new/files' #Path you want to move your files to
files = glob.iglob(os.path.join(source_dir, "*.txt"))
for file in files:
if os.path.isfile(file):
shutil.copy2(file, dst)
copytree 関数の実装を見てください:
以下を使用してディレクトリファイルを一覧表示します。
names = os.listdir(src)
以下を使用してファイルをコピーします。
for name in names: srcname = os.path.join(src, name) dstname = os.path.join(dst, name) copy2(srcname, dstname)
dstnameを取得する必要はありません。宛先パラメータがディレクトリを指定している場合、ファイルはdstsrcnameのベースファイル名を使用します。
copy2をmoveに置き換えます。