#python #python-3.x
#python #python-3.x
Вопрос:
У меня есть скрипт, который создает файл и перемещает его os.rename
, файл генерируется во время выполнения скрипта, однако, когда я открываю файл, я получаю
os.rename(str(PATH_TO_PROGRAM) str("Outputs/important_output.txt"), str(args['output_dir']) str("important_output.txt"))
with open(str(args['output_dir']) str("important_output.txt), "r") as infile:
do stuff
Я получаю следующую ошибку:
File "my_script.py", line 2863, in <module>
with open(str(args['output_dir']) str("important_output.txt"), "r") as infile:
FileNotFoundError: [Errno 2] No such file or directory: '/mnt/c/Users/jaysp/Desktop/new/important_output.txt'
Я не уверен, почему файл не найден. Он генерируется во время выполнения скрипта. Я вижу его в каталоге, в который я его копирую. Если это поможет, я запускаю скрипт из подсистемы Windows Linux и редактирую свой код в VSCode.
Комментарии:
1. ну, это понятно /mnt/c/Users/jaysp/Desktop/new/important_output.txt не существует или у вас нет прав доступа к этому каталогу, введите ls -lh /mnt/c/Users/jaysp/Desktop/new и проверьте, есть ли у вас права на выполнение ( x)
2. @Mr.bug разрешения -rwxrwxrwx
3. введите file /mnt/c/Users/jaysp/Desktop/new/important_output.txt и проверьте, нет ли у вас опечатки
4. @Mr.ошибка, которую я скопировал непосредственно из FileNotFoundError, и я получаю это: /mnt/c/Users/jaysp/Desktop/new/important_output.txt : Текст в формате ASCII
5. Обновление: я использовал скрипт на другом компьютере, и он сработал. Что может быть причиной этой ошибки?
Ответ №1:
Попробуйте использовать os.path.join для объединения путей
input = os.path.join(PATH_TO_PROGRAM, "Outputs/important_output.txt")
output = os.path.join(args['output_dir'], "important_output.txt")
os.rename(input, output)
with open(output, 'r') as infile:
...