Код Visual Studio: FileNotFoundError: [Errno 2] Нет такого файла или каталога - PullRequest
0 голосов
/ 24 июня 2018

Когда я загружаю файлы через код Visual Studio, VScode не может найти каталог.

Я могу запустить код без проблем с терминалом, результат:

young@young-desktop:/media/young/5e7be152-8ed5-483d-a8e8-b3fecfa221dc/text/mycodehtml/pracdl/golbin/TensorFlow-Tutorials/10_RNN/ChatBot$ python text_load_text.py 
['fij\n', 'feijfaef\n', 'ef\n', 'awef\n', 'awe\n', 'g\n', 'aweg\n', 'ae\n', 'wg\n', 'awe\n', 'h\n', 'aw\n', 'h\n', 'aw\n', 'ef\n', 'aweg\n', 'wea\n', 'gaw\n', 'eg\n', '\n']

Но с VScode:

young@young-desktop:/media/young/5e7be152-8ed5-483d-a8e8-b3fecfa221dc/text/mycodehtml/pracdl/golbin/TensorFlow-Tutorials$ cd /media/young/5e7be152-8ed5-483d-a8e8-b3fecfa221dc/text/mycodehtml/pracdl/golbin/TensorFlow-Tutorials ; env "PYTHONIOENCODING=UTF-8" "PYTHONUNBUFFERED=1" /home/young/anaconda3/bin/python /home/young/.vscode/extensions/ms-python.python-2018.6.0/pythonFiles/PythonTools/visualstudio_py_launcher.py /media/young/5e7be152-8ed5-483d-a8e8-b3fecfa221dc/text/mycodehtml/pracdl/golbin/TensorFlow-Tutorials 39707 34806ad9-833a-4524-8cd6-18ca4aa74f14 RedirectOutput,RedirectOutput /media/young/5e7be152-8ed5-483d-a8e8-b3fecfa221dc/text/mycodehtml/pracdl/golbin/TensorFlow-Tutorials/10_RNN/ChatBot/text_load_text.py
Traceback (most recent call last):
  File "/media/young/5e7be152-8ed5-483d-a8e8-b3fecfa221dc/text/mycodehtml/pracdl/golbin/TensorFlow-Tutorials/10_RNN/ChatBot/text_load_text.py", line 8, in <module>
    with open('test.txt', 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'test.txt'

Что вызывает эту проблему?

Файл test.txt изначально предназначен для размещения в ./data/test.txt

Итак, я проверил

with open('./data/test.txt', 'r') as f:

Но это не удалось с VScode

Итак, я попытался переместить файл test.txt в рабочий каталог, выполнив команду:

with open('test.txt', 'r') as f:

и

with open('./test.txt', 'r') as f:

Но все не удалось с VScode.

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Лучшее решение заключается в том, что сначала вы получаете текущее местоположение каталога, а затем соединяете его с относительным путем к вашему файлу.

from os.path import dirname, join
current_dir = dirname(__file__)
file_path = join(current_dir, "./test.txt")
with open(file_path, 'r') as f:
0 голосов
/ 24 июня 2018

Когда я открывал этот проект, я открывал его как папку «TensorFlow-Tutorials».

Итак, мой рабочий каталог:

young@young-desktop:/media/young/5e7be152-8ed5-483d-a8e8-b3fecfa221dc/text/mycodehtml/pracdl/golbin/TensorFlow-Tutorials

Итак, "." указывает путь TensorFlow-Tutorials
По этой причине следующий путь не может найти файл

with open('./test.txt', 'r') as f:

Решение добавляет дополнительную часть, чтобы точно указать мой настоящий целевой каталог:

with open("./10_RNN/ChatBot/test.txt", 'r') as f:
    x = f.readlines()
print(x)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...