【发布时间】:2019-04-13 10:28:51
【问题描述】:
我有一个相当不寻常的问题。我写了一个需要 API 密钥的 python 脚本。由于我不希望它们在互联网上四处飘荡,我创建了一个带有键的单独 .json 并将其添加到 .gitignore。到目前为止一切顺利。
我用 VSCode 编写了程序,在那里我可以毫无问题地执行它。但是,当我尝试将我的程序与普通的 PowerShell 一起使用时,它根本无法工作。我在外部 PS 上运行它时收到此错误消息:FileNotFoundError: [Errno 2] No such file or directory: './master-folder/key.json'
我对包使用 virtualenv,但这不应该影响任何东西(当然我在 PS 中激活了它)。这是代码的一部分:
keys_fp = './master-folder/key.json'
keys = load(open(keys_fp, 'r'))
文件夹结构如下:
.
├── programs
│ └── program.py
└── key.json
【问题讨论】:
-
在你的脚本中添加一个
os.getcwd()调用,看看它告诉你什么。 -
@ritlew 它什么也没输出,有点奇怪
-
对不起,我的意思是
print(os.getcwd()) -
这就是为什么你不应该使用相对路径。这似乎根本不是 powershell 问题。
keys_fp = os.getcwd() + '\..\key.json' -
@nerdlab 作为最佳实践?总是。
标签: python powershell visual-studio-code filepath