手机版
贴心博客(Imblog)(LOGO)

贴心博客(Imblog)

v5.0

基于`jquery2+bootstrap4+贴心猫`开发

请教下如何相对便利的获取非py文件的路径

发布:2019-10-14 08:12   点击:11次   评论:0
https://segmentfault.com/q/1010000011655134
请教下如何相对便利的获取非py文件的路径。

test是我当前运行的脚本,希望在运行过程中open() data.txt.

目前的做法
1.是指os,获得当前路径然后逐层反推。比较麻烦
2.是"../data/data/txt",只是如果还有个其他位置的py文件调用,比如test2中调用了test1,这种路径就又抽了。

请问下有没别的更实用的方式确定文件路径,如果能类似导入一个py文件一样直接from data import data.txt 然后用这个东西就好了。


一、解决办法
如果data.txt文件需要在多个.py文件使用,那么最好的方式是将data.txt文件的路径 定义为一个变量。

可以在项目的根目录下定义有一个config.py 或者constants.py文件,那么可以在其中定义变量:

config.py 文件内容

import os

PROJECT_ROOT = os.path.dirname(os.path.realpath(__file__))  # 获取项目根目录

data_file_path = os.path.join(PROJECT_ROOT, "folder/data/data.txt")  # 文件路径
然后在任意需要读取data.txt文件的.py文件中引用上面config.py文件中定义的文件路径变量

import os

from config import data_file_path

with open(data_file_path, 'r') as f:
    for line in f:
        print(line.strip())

评论(0条) 评论列表
 

公司简介 企业文化 服务内容 公司新闻 公司图片 常见问题 联系我们 责权申明

贴心博客(Imblog)基于`jquery2+bootstrap4+贴心猫`开发; QQ群:607070548; 粤ICP备07020797号

Run:12.694/39.060(ms); 3(sql)/2.026(MB); comm:info/detail; Upd:2019-11-21 18:44:15