想得到.py向上一层文件路径,python源码应该怎么写
假设有个文件的位置是 ...A/B/main.py,main.py 是需求被执行的代码。
如何获得文件夹 A 的完整路径呢?
获得 main,py 上上层的路径
import os
print 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/c
os.path.abspath(path): 将path从相对路径转成绝对路径
os.pardir: Linux下相当于"../"
很丑的方式, 用__file__
在打包成windows的EXE时会出问题:
import os.path
os.path.abspath(os.path.join(os.path.abspath(os.path.dirname(sys.argv[0])), '..'))
import re, sys
match = re.match('(.*)/(.*)', sys.path[0])
print match.group(1)
获取 python 文件位置的模块有 os
os.path
sys
. 题主的问题可以如下:
# -*- coding: utf-8 -*-
import sys, os
pwd = sys.path[0] # 获取当前执行脚本的位置
print os.path.abspath(os.path.join(pwd, os.pardir, os.pardir))
一般获取文件位置方法有
区别:
个人觉得 sys.path 比较稳妥
import inspect
print inspect.stack()[-1][1]
参考:http://qa.helplib.com/127252
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd19687.html
相关文章 Recommend
- • 为什么我的web.pydb.select返回的数据只能遍历一次
- • 请教web.py服务器端接收到的上传文件名出现乱码
- • 关于web.py性能优化方法大家闲聊讨论下
- • web.py在note页面中应该如何接收值的传入
- • python setup.py方式安装包正确删除方法
- • [web.py问题]如果python bin/app.py 可以实现网站的上线
- • Web.py -AttributeError: 'module' object has no attribute 'ge
- • web.py服务器传输数据能用js获取到吗?
- • 新手对python-sdk demo.py环境变量问题
- • django中python manage.py 启动服务器显示端口被占用如
- • import导入__xxx__.py文件,它的'__name__'是什么
- • 请问django把类写到models.py里面如何拆分呢
您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • Python程序员解决棘手问题的常用库
- • 求助关于restfull api接口几个问题
- • qiniu pythonsdk提示ImportError错误求解
- • 问一个关于Hadoop Python中读写文件统计分析
- • 求问str()同__str__原理上有什么不同,分别在
- • 大神帮忙看下20行的python代码,文件io和数
- • python 爬虫爬wiki 报错 [Errno 65] No route to
- • python续点上传问题None bad token...
- • python3环境下文本中超链接出错,要如何修
- • Python环境保存操作思路问题求助
图文精华 RECOMMEND
-
Python程序员解决棘手问题的常用库
-
求问str()同__str__原理上有什么不同
-
scrapy框架里面用link extractor怎么能
-
python {}.fromkeys创建字典append添加操
-
python3 类型Type str doesn't support th
-
python里面为什么系统的时区是东八
热点文章 HOT
- 学习Python有什么好的书籍推荐?
- Python匿名函数 Lambda表达式作用
- Python与Java、C、Ruby、PHP等编程语言有什么
- Python 正则中文网页字符串提取问题
- 如何为实时性应用存取经纬度?django my
- 想用python做个客户端,在二维码登录这个地
- 有让IDE可识别Python函数参数类型的方法吗
- Python字符串转换成列表正则疑问