如何在VSCode上更改Python(Anaconda)的默认工作目录?

时间:2018-11-02 19:24:29

标签: python file visual-studio-code anaconda working-directory

所以我一直试图打开像这样的非常基本的文件:inputFile = open("keywords.txt", "r")

但是我得到这个错误:

FileNotFoundError: [Errno 2] No such file or directory: 'keywords.txt'

这一定是因为Python的默认工作目录不是我的.py文件所在的目录(如果我输入错了,请更正我)。 如何找到我正在使用的目录的确切路径,然后将Python的默认工作目录更改为该目录?

注意:我正在使用 VSCode Anaconda(Python 3.6)在 OSX Mojave

2 个答案:

答案 0 :(得分:2)

我们必须区分两个概念:“ working directory”和“ python environment”。 当您从VS code进入Anaconda时,您就在Anaconda virtual python environment中,它是默认的directory

您可以使用左侧第一个图标“ 资源管理器”对其进行测试。 在这里,您将找到目录结构,您的.py文件实际上在其中。 但是有时.py搜索的文件可能在其他目录中。如果您要运行一个python程序,并在公共目录中存储一些其他文件,那么我更喜欢使用一些变量来设置工作目录:

work_dir = "path/to/working_directory"

用途

import os
path = os.join(work_dir, somefile.txt)

如果python程序使用的文件位于复杂的目录结构中,那么更改工作目录将不是解决方案。 尽管程序员使用相对路径时也可以。

在VS Code中,有一个终端,您可以在其中以bash shell方式检查当前的Anaconda环境和目录。 运行该程序时,您会看到.py文件实际在什么环境中运行以及使用哪些选项。

答案 1 :(得分:-1)

默认情况下,Python的“当前工作目录”是它所在的文件夹。尽管使用Anaconda时这可能有所不同

这将打印您的当前目录

SELECT (X.Max(SumV)-X.Min(SumV))
From (
     SELECT Client_Id,Date,SUM(Volume) AS SumV
     FROM Orders
     GROUP BY Client_id,Date
     ) X

Group by X.Client_Id

这将更改您的目录

import os
print(os.getcwd())

然后再执行一次os.chdir('Your new file path here') 以确保其正常工作