vscode - прочитать файл из текущей папки, где находится .py файл - PullRequest
1 голос
/ 16 марта 2019

Я очень новичок в программировании и в vscode.

Я изучаю Python и в настоящее время изучаю работу с файлами.

Путь выглядит следующим образом: /home/anewuser/learning/chapter10.

Проблема: полностью базовый урок «чтение файла в python» не работает в vscode, поскольку возникает ошибка no such file or directory при запуске моего файла .py, расположенного в ~/learning/chapter10.Но vscode хочет, чтобы мой файл .txt, который я должен был открыть в python, находился в каталоге ~/learning, тогда он работает.Мне не нравится это поведение.

Все, что я хочу, это иметь возможность читать файл, помещенный в каталог, где находится файл .py.Как это сделать?

1 Ответ

0 голосов
/ 17 марта 2019

Поскольку в вашем случае ~/learning является cwd по умолчанию (текущий рабочий каталог), VSCode ищет pi_digits.txt в этом месте. Если вы поставите pi_digits.txt рядом с file_reader.py (который находится в ~/learning/chapter10), вам нужно будет указать путь (добавив chapter10/ к файлу .txt).

Итак, вы должны сделать это:

with open('chapter10/pi_digits.txt') as file_object:
    contents = file_object.read()
    print(contents)

Если вы хотите изменить текущий рабочий каталог по умолчанию (например, вы хотите изменить его на ~/learning/chapter10), вам нужно будет сделать следующее:

~ / обучение / chapter10 / file_reader.py

import os  # first you need to import the module 'os'

# set the cwd to 'chapter10'
os.chdir('chapter10')

# now 'file_reader.py' and 'pi_digits.txt' are both in the cwd
with open('pi_digits.txt') as file_object:
    contents = file_object.read()
    print(contents)

С os.chdir('chapter10') вы установили chapter10 в качестве cwd по умолчанию, в котором VSCode теперь будет искать pi_digits.txt.

Для получения подробной информации о os.chdir() вы можете прочитать официальную документацию или взглянуть на этот пост на stackoverflow.

...