Ошибка «Нет такого файла или каталога» при использовании «cat» в python - PullRequest
1 голос
/ 14 марта 2020

Когда я использую

cat folder1/folder2/*_in.txt>>output.txt 

прямо в терминале, он работает нормально.

Но когда я звоню изнутри python процесса, он показывает ошибку "No such file or directory":

command = "cat "+path+"*_in.txt >> " + output_variable
print(command) # print exactly the same.
os.system(command) # error : cat: folder1/folder2/*_in.txt: No such file or directory

1 Ответ

3 голосов
/ 14 марта 2020

Это происходит, когда нет файлов, соответствующих шаблону:

$ python -c 'import os; os.system("cat *.txt")'
cat: '*.txt': No such file or directory

$ echo 'Hello World' > myfile.txt

$ python -c 'import os; os.system("cat *.txt")'
Hello World

Имейте в виду, что файлы сопоставляются относительно текущего рабочего каталога процесса (os.getcwd()), а не относительно Python файл. Если вы не можете определить рабочий каталог и исправить относительный путь к вашим файлам, используйте абсолютные пути.

...