Python 如何引用项目目录中的文件?

Python 如何引用项目目录中的文件?,python,python-os,Python,Python Os,我有一些函数存储在单独的文件中,它们从csv文件访问数据。在脚本的乞讨下,我运行 current_dir = os.getcwd() 然后所有文件名的格式如下: file_name = current_dir + '\\data\\file.csv' 它工作得很好,但只有从项目主目录中的文件调用该函数,否则它无法找到\data\目录 我可以将目录设置为: os.chdir('D:\\Projects\\Project\\data') 但我必须记住,每次我把它移到新机器上时,都要手动更改它

我有一些函数存储在单独的文件中,它们从
csv
文件访问数据。在脚本的乞讨下,我运行

current_dir = os.getcwd()
然后所有文件名的格式如下:

file_name = current_dir + '\\data\\file.csv'
它工作得很好,但只有从项目主目录中的文件调用该函数,否则它无法找到
\data\
目录

我可以将目录设置为:

 os.chdir('D:\\Projects\\Project\\data')
但我必须记住,每次我把它移到新机器上时,都要手动更改它


如何设置目录名,使项目可传输到不同的计算机/平台,并且仍然可以从director运行和加载文件
project/data/
,而不管项目在磁盘上的哪个位置据我所知,您正在尝试引用文件系统中某个路径中的某些文件

我建议您将它们全部放在项目的根目录中,并使用相对路径引用它们,如下所示

import os
project_root_dir = os.path.dirname(os.path.abspath(__file__))
filepath = project_root_dir + name_of_the_file
#or
filepath = os.path.join(project_root_dir , name_of_the_file)

否则您需要硬编码,这将导致进一步的问题。

尝试为您的所有代码和数据文件使用相对路径。我不明白您的问题:/简言之,我问的是如何跟踪绝对目录,并且代码中只有相对路径?可以是-
filepath=os.path.join(项目根目录,文件名)
而不是
filepath=project\u root\u dir+文件的名称\u
是。这也会起作用。谢谢你的建议。添加它。