Python 文件路径问题

最近,用到python文件的相对路径,之前一直以为
import sys
sys.path.append("路径")
可以解决所有的路径扩展问题,但今天偶然发现,这两行代码只能解决“模块引用”的相对路径问题,比如:
当前文件路径:/home/workspace/script/main.py
如果要引用模块的py文件路径为:/home/workspace/util/b.py

*************b.py************
class Test(object):
def __init__(self):
dosomething();
def dosomething():
print 'hello,world!'
*****************************

只需在main.py中插入
sys.path.append('../util/')
from b import Test
便可以顺利完成模块引用。

但是,如果我们想要读取的是txt或其他格式的文件,这中方法便失效了,在网上搜了一下,基本思路如下:
1. 明确相对位置是相对谁的位置
比如,c.txt的路径为:/home/workspace/script/c.txt
如果main.py需要读取c.txt,其相对路径一定是相对自己的路径,即:file =open('c.txt')
而如果是main.py 调用b.py 的模块中需要调用c.txt,路径该怎么写?
是file = open('c.txt'),还是file = open('../script/c.txt')呢?
通过实验,才发现,这主要是程序运行是的当前路径问题,main.py作为主程序在运行时,无论是自己调用还是引用其他的模块调用其他的文件,当前路径都是main.py所在路径。
2. 明确了当前路径之后,后面的读取就很方便了
现在基本上有两种方式:
1)把常用的路径文件夹直接写到系统路径中;
2) 就是1所提到的相对引用的方法,比较直接,但需要每次都要弄清楚相对路径。

知识有限,仅供参考,以备后用。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值