отправьте файл во многие каталоги, замените строку с путем к каждому файлу - PullRequest
0 голосов
/ 20 мая 2019

Я очень новичок в 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' на весь путь к файлу для всех копируемых файлов.

Возможно, лучше подойти к файлу, который получает путь автоматически, а не заменять списком??Но как это сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...