Я очень новичок в python и пытаюсь распределить файл по многим каталогам в одном каталоге, который содержит местоположение файла (путь) для каждого файла.
Я попытался .replace () метод, чтобы заменить целевую строку в список, который содержит пути.Однако метод дает числовые пути в каждом файле, а не отдельный путь.
def get_directories(path):
directories = [x for x in os.listdir(path)]
directories = [(path + x) for x in directories]
return directories
root = '/Users/tk/Desktop/forPython/sc/'
_dir = get_directories(dest)
file_1 = 'file.sh'
for j in range(len(_dir)):
shutil.copy(root + file_1, _dir[j])
dir_1 = [(x.replace(root, '')) for x in _dir]
dirr_1 = ' '.join(dir_1)
for i in range(len(_dir)):
with open(_dir[i] + '/' + foo, 'r') as f:
edit_1 = f.read().replace("target_1", str(dirr_1))
with open(_dir[i] + '/' + bar, 'w') as f:
f.write(edit_2)
Строка «target_1» файла_1 должна быть заменена на / path / for / the / file_1, а строка «target_1» файла_2 должна быть замененас / path / for / the / file_2 и так далее.
Однако код заменяет 'target_1' на весь путь к файлу для всех копируемых файлов.
Возможно, лучше подойти к файлу, который получает путь автоматически, а не заменять списком??Но как это сделать?