会员

贴心博客(Imblog)

基于`Imcat(贴心猫)+(微样式)Weys`开发

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

2019-10-14 08:12 学习
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())

来源:(原创) 编辑:peace 关键词:py路径

    More 心情墙

  • 71 不想授权的伙伴,你也多了一条免费之路 ---`贴心博客(Imblog)`!
  • 14 尊重版权,没有任何借口:支持织梦授权。
  • 8 某镇教育网[2007] vs [2021]某校教育平台; 一个成功的作品,和一个成功的项目管理过程,是完全两回事。
  • 10 计划不如变化;说好的[下午]开会,却有意安排到[晚上]。
  • 有所为,有所不为,是为华为! 凝心聚力,中华有为!

    22 2019-06-02

  • 2019愿望: 1.多健身少生病;2.学习英语,心理学;3.发布`贴心博客`,`贴心企业网`,`贴心房产网`(部分合作开发)...

    27 2018-12-31

  • 愿与[企业,客户]三方利益达到最佳平衡!

    4 2018-12-16

    More 和平鸽小语

  • 4 业余系统,开源分享;从未忘记,初心梦想。
  • 3 中国年=人民币: Happy CNY, I get a CNY 8.8 red envelope. 慢慢去体会,用一生去体会!
  • 2 2019:经济危机后;Android,鸿蒙,iOS将三足鼎立 想起:非暴力不合作;该赶美企,抵美货了...
  • 6 修桥、修路、修房子,已经习惯了,只要砸钱就行了; 这个芯片砸钱不行的,得砸数学家、物理学家、化学家... (任正非)
导航
博客文章
便笺墙
家族亲友树
联系我们
地址:银河县太阳镇地球村
电话:135-37****47
邮箱:80893510@qq.com

Copyright@贴心博客(Imblog)

Run:1.284/17.505(ms); 6(sql)/2.094(MB); comm:info/detail; Upd:2021-10-26 10:44:06