python - 如何引用项目目录中的文件?
问题描述
我有一些函数存储在一个单独的文件中,它们从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)
否则您需要对其进行硬编码,这会导致进一步的问题。
推荐阅读
- polymer - 有没有办法使用 es6 模块将 html 模板导入 javascript?
- ruby-on-rails - 我想在我的 Ruby on Rails 应用程序中添加一个 Facebook 风格的信使,这样用户模型中的用户就可以相互交谈
- javascript - 如何从硒中的日期选择器中选择今天的日期和时间(+15 分钟)
- javascript - Highcharts 折线图 - 不显示折线
- node.js - 如何从 Twilio 可编程语音功能中发送短信
- java - 如何使用 cache2k 对过滤器进行单元测试
- python - Python - 如何在 io.BufferedReader 中使用自定义 buffer_size?
- reactjs - 在反应上下文提供程序中创建 ref
- python - Pip 坏了,我没有管理员权限
- excel-formula - Excel将日期范围转换为时间以查找它是否大于或小于时间范围