Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Python выдает ошибку: FileNotFoundError: [Errno 2] No such file or directory: '111.txt'

Богдан Таран Таран Ученик (102), на голосовании 2 месяца назад
Помогите решить проблему, пожалуйста!!!
Python выдает ошибку: FileNotFoundError: [Errno 2] No such file or directory: '111.txt', хотя документ "111" и файл Python, который его вызывает, лежат в одном месте.

Пробовал:
  1. Писать полный путь - не помогает
  2. Пробовал создавать новый текстовый документ - не помогает
  3. Пробовал документ "111" и файл Python переносить в отдельную папку - не помогает

Вот часть кода, которая вызывает документ, но в ней, думаю, нет проблем:

@staticmethod
def checks_passwords(password): # проверка пароля со словарем паролей
password_dictionary = open('111.txt', 'r', encoding='utf -8') # открываем словарь паролей
line = password_dictionary.readline()
while line != '':
if password == line:
return False
line = password_dictionary.readline()
return True
Голосование за лучший ответ
Аслан Местников Мастер (1043) 3 месяца назад
Попробуйте использовать абсолютный путь к файлу «111.txt» вместо относительного пути.
Богдан Таран ТаранУченик (102) 3 месяца назад
Пробовал, не помогает.
Аслан Местников Мастер (1043) Богдан Таран Таран, Возможно, проблема связана с кодировкой файла. Попробуйте открыть файл в текстовом редакторе и сохранить его в другой кодировке, например, UTF-8 без BOM. Копировать
Андрей Панарин Искусственный Интеллект (242620) 3 месяца назад
У файла "111" точно расширение txt? Как вы в этом убедились? Можно скриншот?
Богдан Таран ТаранУченик (102) 3 месяца назад
Надо везде поменять "\" в пути на "/"
Андрей Панарин Искусственный Интеллект (242620) Так у вас же нет слешей в коде.
Богдан Таран ТаранУченик (102) 3 месяца назад
Да, нет слешей. Но и так не работает. Работает только если прописать полный путь и поменять слеши. На ютюбе нашел такой способ у американского студента.
Андрей Панарин Искусственный Интеллект (242620) Возможно, рабочий каталог не тот, который должен быть. Вы можете вывести его этим кодом:
 import os  
cwd = os.getcwd() 
print(cwd) 
Аглая Шниц Искусственный Интеллект (144584) 3 месяца назад
полный путь с экранированием символов?

типа
 "c:\\users\\user вася\\111.txt" 

или
 r"c:\users\user вася\111.txt" 
(так называемая raw string)

или даже
 r""""c:\users\user вася\111.txt"""" 

а лучше, имхо, чтоб программа сама искала файл подле себя:
 import os, sys

filename = os.path.dirname(os.path.abspath(sys.argv[0])) + os.path.sep + "111.txt"

with open(filename, 'r') :
...
Богдан Таран ТаранУченик (102) 3 месяца назад
Надо везде поменять "\" в пути на "/"
Юрий Семыкин Искусственный Интеллект (200789) 3 месяца назад
Вы думаете, что файл 111.txt лежит там где надо, а там может быть файл 111.txt.txt или что-то подобное. Попробуйте найти его не браузером, а IDLE shell File>Open
Похожие вопросы