从与python模块相同的目录中读取文件

问题描述 投票:1回答:1

假设我有python模块foo.py和文件myfile.txt驻留在同一目录中。 foo.py包含以下代码以读取myfile.txt

from os import path
myfile_path = path.join(path.dirname(__file__), 'myfile.txt')
myfile = open(myfile_path)

我发现自己在不同的模块中反复写path.join(path.dirname(__file__), '...')。是否有更短,更简单的方法从与python模块相同的目录中读取文件?

python file path
1个回答
0
投票

我不知道这是否适用于您的实际情况,但这是我发现的内容:

应该有一个定义调试器工作方式的JSON文件。对我来说,我使用VS Code,并使用Microsoft Python调试器。它使用一个名为launch.json的文件,并包含一个名为"configurations"

的数组。
"configurations": [
    {
        "name": "Python: Current File",
        "type": "python",
        "request": "launch",
        "program": "${file}",
        "console": "internalConsole"
]

缺少名称为"cwd"的键,该键是“当前工作目录”的缩写(您可以阅读有关here的更多信息)。如果使用空白引号""来添加它,那么当Python搜索没有指定路径的文件时,它将在同一文件夹中搜索。显示最后几行内容:

        "program": "${file}",
        "console": "internalConsole",
        "cwd": ""
]

有关更多一般性建议,调试器或运行Python文件的任何其他程序,都需要正确定义其工作目录。

我知道这个职位在某个时候已有19个月的历史了,但是我希望这对某人有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.