.jsファイルのみを別の既存のフォルダーにコピーしたいフォルダー(他のサブフォルダーを含む)があります(これには、最初のフォルダー構造と同じフォルダー構造のサブフォルダーもありますが、これにはフォルダーのみがあるため、ファイル)
どうすればPythonでそれを行うことができますか? shutil.copytree を試しましたが、いくつかのフォルダーが既に存在するため失敗します。
.jsファイルのみを別の既存のフォルダーにコピーしたいフォルダー(他のサブフォルダーを含む)があります(これには、最初のフォルダー構造と同じフォルダー構造のサブフォルダーもありますが、これにはフォルダーのみがあるため、ファイル)
どうすればPythonでそれを行うことができますか? shutil.copytree を試しましたが、いくつかのフォルダーが既に存在するため失敗します。
os.path.splitext
または_glob.iglob
glob.iglob(pathname)
glob() と同じ値を生成する反復子を返しますが、実際にはすべての値を同時に格納する必要はありません。
で解決策を提案し、 と一緒os.path.splitext
に歩きos.walk
ます。os.path.relpath
複製ツリーで相対パスを見つけるために利用します。
source_dir
ソースの最上位のソース フォルダー、dest_dir
最上位の宛先フォルダーです。
import os, shutil, glob
source_dir = "F:\CS\PyA"
dest_dir = "F:\CS\PyB"
for root, dirnames, filenames in os.walk(source_dir):
for file in filenames:
(shortname, extension) = os.path.splitext(file)
if extension == ".txt" :
shutil.copy2(os.path.join(root,file), os.path.join(dest_dir,
os.path.relpath(os.path.join(root,file),source_dir)))
from glob import glob
from shutil import copy
import os
def copyJS(src, dst):
listing = glob(src + '/*')
for f in listing:
if os.path.isdir(f):
lastToken = f.split('/')[-1]
copyJS(src+'/' + lastToken, dst+ '/' + lastToken)
elif f[-3:] == '.js':
copy(f, dst)