vscode-从.py文件所在的当前文件夹中读取文件

时间:2019-03-15 22:23:26

标签: python visual-studio-code vscode-settings

我是编程和vscode的新手。

我正在学习Python,目前正在学习有关处理文件的信息。

路径如下:/home/anewuser/learning/chapter10

问题:完全基本的“在python中读取文件”课程在vscode中不起作用,因为运行位于no such file or directory的.py文件时出现~/learning/chapter10错误。但是vscode希望将我应该在python中打开的.txt文件放在~/learning目录中,然后它才能工作。我不喜欢这种行为。

我想要的是能够读取放置在.py文件所在目录中的文件。该怎么做?

2 个答案:

答案 0 :(得分:0)

因为在您的情况下,~/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),则必须执行以下操作:

〜/ learning / 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设置为默认密码,VSCode现在将在其中查找pi_digits.txt

有关os.chdir()的详细信息,您可以通读the official documentation或查看this post的stackoverflow。

答案 1 :(得分:0)

在“用户设置”中,使用搜索栏查找“ python.terminal.executeInFileDir”,并将其值(=)设置为“ true”,而不是“ false”。

我从这里得到了这个答案 How to run python interactive in current file's directory in Visual Studio Code? 这是我第一次在StackOverflow上给出答案 所以我很抱歉,如果我做得不好