想得到.py向上一层文件路径,python源码应该怎么写,,假设有个文件的位置是 .
想得到.py向上一层文件路径,python源码应该怎么写,,假设有个文件的位置是 .
假设有个文件的位置是 ...A/B/main.py,main.py 是需求被执行的代码。
如何获得文件夹 A 的完整路径呢?
获得 main,py 上上层的路径
import osprint os.path.abspath(os.path.join(os.path.dirname(__file__), os.pardir, os.pardir))
解释下:
__file__:当前文件路径os.path.dirname(file): 某个文件所在的目录路径os.path.join(a, b, c,....): 路径构造 a/b/cos.path.abspath(path): 将path从相对路径转成绝对路径os.pardir: Linux下相当于"../"
很丑的方式, 用__file__在打包成windows的EXE时会出问题:
import os.pathos.path.abspath(os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), '..'))
import re, sysmatch = re.match('(.*)/(.*)', sys.path[0])print match.group(1)
获取 python 文件位置的模块有 os os.path sys. 题主的问题可以如下:
# -*- coding: utf-8 -*-import sys, ospwd = sys.path[0] # 获取当前执行脚本的位置print os.path.abspath(os.path.join(pwd, os.pardir, os.pardir))
一般获取文件位置方法有
区别:
个人觉得 sys.path 比较稳妥
import inspectprint inspect.stack()[-1][1]
参考:http://qa.helplib.com/127252
编橙之家文章,
相关内容
- Python匿名函数返回值输出问题望指点,,该段的匿名函数
- 请问lambda:lambda:0如何理解,请问lambda理解,比如说:f=
- python %r和%s分别在什么情况下使用?,python%r,看代码的时
- 请python高手帮看下Flask数据库配置有什么问题,pythonf
- Python封装exe格式后无法运行是什么原因,pythonexe,使用
- Django网站七牛上传图片遇到出错信息如何捕获,,是这样
- 关于python requests库中session线程安全方面问题的小疑问,
- Python动态语言运行机制是怎么样的,python动态运行机制
- python 能通过CAN控制一部普通的家用轿车吗?,python家用
- python json多态问题警告Traceback (most recent call last),json
评论关闭