Python/Spyder:通用工作目录

Python/Spyder: General Working Directory

到目前为止,我有打开文本文件的代码,将其处理成 pandas 数据文件,然后导出到 excel。

我正在与其他人共享此代码,我们在 Spyder 中都有相同的工作目录。所有代码都运行良好,我想操作的唯一行是文件的打开和文件的导出。

with open(r'C:\Users\"my_name"\Desktop\data\file.txt', 'r') as data_file:

这里的问题是,我想将我的工作目录设置为“\data”,这样我就可以写:

with open(r'file.txt', 'r') as data_file:

这样,我发送给他们的人,他们的计算机上也有“\data”作为他们的工作目录,他们可以 运行 代码,它会 select "file.txt" 在他们的数据目录中。

您在技术上寻找的答案是使用 os.chdir() 如下

import os
os.chdir('.', 'data')
#THE REST OF THE CODE IS THE SAME
with open(r'file.txt', 'r') as data_file:

然而,更安全的答案是

def doTheThing(fName):
    return os.path.join(os.getcwd(),'data',fName)

with open(doTheThing('file.txt'), 'r') as data_file: