Я новичок в python и все еще на уровне базового обучения. Недавно я попытался написать сценарий для создания новых папок в соответствии с номером, указанным во входном текстовом файле. После создания этих папок я хочу скопировать файл во все эти папки одновременно. Я могу это сделать, набравкак вызвать xargs с помощью скрипта
echo equil{1..x} | xargs -n 1 cp *.txt *
в терминале, и он отлично работает. Здесь x - количество папок, которые у меня есть в моем рабочем каталоге. Но я хочу сделать это автоматически, т. Е. Вызвать его из сценария, так что пользователю не нужно вводить эту строку каждый раз в терминале. Вот почему я пробовал это
sub2 = subprocess.call(['echo', 'equil{1..x}', '|', 'xargs', '-n', '1', 'cp', '*.txt *'])
Может ли кто-нибудь направить меня и показать мне ошибку. На самом деле я не получаю никаких ошибок, скорее это печатает это
equil{1..x} | xargs -n 1 cp *.txt *
в терминале после выполнения остальной части сценария.
На самом деле я просто хочу скопировать один файл в несколько папок одновременно с помощью скрипта. – Mon
Ну, было бы проще сделать это на Python? Немного полезных функций: ['os.listdir'] (https://docs.python.org/2/library/os.html#os.listdir), [' os.makedirs'] (https: // docs .python.org/2/library/os.html # os.makedirs), ['shutil.copyfile'] (https://docs.python.org/2/library/shutil.html#shutil.copyfile), [ 'for'] (https://wiki.python.org/moin/ForLoop) – fferri
Большое спасибо, shutil.copy выполнил эту работу. :) – Mon