:
$ ls /tmp/stackdest
textures/actors/bear
fur.png
fur2.png
Pythonスクリプト:
from os import walk
import os
# TODO - Change these to correct locations
dir_path = "/tmp/stacktest"
dest_path = "/tmp/stackdest"
for (dirpath, dirnames, filenames) in walk(dir_path):
# Called for all files, recu`enter code here`rsively
for f in filenames:
# Get the full path to the original file in the file system
file_path = os.path.join(dirpath, f)
# Get the relative path, starting at the root dir
relative_path = os.path.relpath(file_path, dir_path)
# Replace \ with/to make a real file system path
new_rel_path = relative_path.replace("\\", "/")
# Remove a starting "/" if it exists, as it messes with os.path.join
if new_rel_path[0] == "/":
new_rel_path = new_rel_path[1:]
# Prepend the dest path
final_path = os.path.join(dest_path, new_rel_path)
# Make the parent directory
parent_dir = os.path.dirname(final_path)
mkdir_cmd = "mkdir -p '" + parent_dir + "'"
print("Executing: ", mkdir_cmd)
os.system(mkdir_cmd)
# Copy the file to the final path
cp_cmd = "cp '" + file_path + "' '" + final_path + "'"
print("Executing: ", cp_cmd)
os.system(cp_cmd)
$ ls /tmp/stacktest
\textures
\textures\actors\bear
fur.png
\textures\actors\bear\fur2.png
は、以下のPythonスクリプトは、このにそれを向けるだろうこのスクリプトは、dir_path
のすべてのファイルとフォルダを読み取り、dest_path
の下に新しいディレクトリ構造を作成します。 dest_path
をdir_path
に入れないでください。
以下の解決方法が有効な場合は、それを知らせることができます。おそらく答えを投票することによって。 –
Devin、このソリューションは機能しましたか、目標を達成するための支援が必要ですか? –
なぜディレクトリ名にバックスラッシュがありますか? –