Я новичок в работе с файлами Python и имею небольшую проблему. Я просто пытаюсь напечатать name of a text file
и его 'mode'
.
Вот мой код:
f = open('test.txt','r')
print(f.name)
print(f.mode)
f.close()
У меня есть сохраненный текстовый файл с именем 'test.txt'
в том же каталоге, где я написал приведенный выше код.
Однако, когда я запускаю код, я получаю следующую ошибку: файл не найден:
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'
Любые идеи, что вызывает это?
Я также пытался заменить первый аргумент выше на path
файла test.txt
, но получаю ту же ошибку?
Я не понимаю необходимости голосовать против ... это не так очевидно?
open
(практически в любой операционной системе) не важно, где находится ваш программа, но из какого каталога вы его Бег. (Это относится не только к python, но и к тому, как работают файловые операции и что такое текущий рабочий каталог.)
Итак, это ожидаемо. Вам нужно запустить python из каталога, в котором находится test.txt
.
I have also tried to replace the first argument above with the path of the test.txt file, but I get the same error?
В этом случае вы, должно быть, опечатались в пути. Убедитесь, что там нет специальных символов (например, обратной косой черты), которые python специально интерпретирует, или используйте формат необработанной строки r'...'
вместо просто '...'
.
Теперь я полностью понимаю, извините за путаницу - теперь я понял, что вы имели в виду, что мне нужно «перейти» в каталог !!!
Да, 3 решения: 1. тот же репозиторий 2. укажите полный абсолютный путь 3. укажите относительный путь относительно каталога, из которого вы запускаете скрипт Python.
Например, это зависит от того, где запускается команда python: допустим, у нас есть эти 2 файла:
вам нужно запустить команду python из того же каталога (dir2 в примере).
Спасибо, Ланселот, теперь я это вижу! - Я действительно запускал его из своего домашнего каталога, а не из каталога, в котором сохранен файл! Все еще новичок в этом, извините!