大家好,欢迎来到IT知识分享网。
获取路径的方法
结构展示:
# -*- coding:utf-8 -*-
''' @Author: knocky @Blog: https://blog.csdn.net/zzx188891020 @E-mail: 188891020@qq.com @File: main.py @CreateTime: 2020/5/18 20:03 '''
import sys, os
print('__file__ >>> %s' %__file__)
print('sys.argv[0] >>> %s' % sys.argv[0]) # 获取当前主程序路径
print("os.path.abspath('.') >>> %s" % os.path.abspath('.')) # 工作目录绝对路径
print("os.getcwd() >>> %s" % os.getcwd()) # 工作目录绝对路径
print("os.path.abspath('test.txt') %s" % os.path.abspath('test.txt')) # 工作目录绝对路径+文件名 即使文件不存在也会拼接
print("os.path.abspath('..') >>> %s" % os.path.abspath('..')) # 工作目录绝对路径的父路径
print("os.path.abspath(os.curdir) >>> %s" % os.path.abspath(os.curdir)) # 工作目录绝对路径
# =====================效果展示=====================
# __file__ >>> D:/Python file/pycharm file/Test_package/package/package1/main.py
# sys.argv[0] >>> D:/Python file/pycharm file/Test_package/package/package1/main.py
# os.path.abspath('.') >>> D:\Python file\pycharm file\Test_package\package\package1
# os.getcwd() >>> D:\Python file\pycharm file\Test_package\package\package1
# os.path.abspath('test.txt') D:\Python file\pycharm file\Test_package\package\package1\test.txt
# os.path.abspath('..') >>> D:\Python file\pycharm file\Test_package\package
# os.path.abspath(os.curdir) >>> D:\Python file\pycharm file\Test_package\package\package1
如果代码看不清楚就看图片:
导包前的准备工作:
由于linux无法像pycharm一样设置根目录,所以需要添加进系统列表
各种添加环境变量的方法如下:
# linux下无法像python一样设置Sources Root
# 所以需要使用sys.path.append()添加根目录进系统路径
# 所以获取根目录有以下几种方法:
import sys, os
path = os.path.abspath('../..')
path1 =os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
print('path:',path)
print('path1:',path1)
sys.path.append(path) # 会追加到列表最尾部
print(sys.path)
# =====================效果展示=====================
# path: D:\Python file\pycharm file\Test_package
# path1: D:/Python file/pycharm file/Test_package
# ['D:\\Python file\\pycharm file\\Test_package\\package\\package1',
# 'D:\\Python file\\pycharm file\\Test_package',
# 'D:\\ProgramData\\Anaconda3\\python37.zip',
# 'D:\\ProgramData\\Anaconda3\\DLLs',
# 'D:\\ProgramData\\Anaconda3\\lib',
# 'D:\\ProgramData\\Anaconda3',
# 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python37\\site-packages',
# 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python37\\site-packages\\win32',
# 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python37\\site-packages\\win32\\lib',
# 'C:\\Users\\Administrator\\AppData\\Roaming\\Python\\Python37\\site-packages\\Pythonwin',
# 'D:\\ProgramData\\Anaconda3\\lib\\site-packages',
# 'D:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32',
# 'D:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib',
# 'D:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin',
# 'D:\\Program Files\\JetBrains\\PyCharm 2018.1.2\\helpers\\pycharm_matplotlib_backend',
# 'D:\\Python file\\pycharm file\\Test_package' ]
运行效果如下
跨模块导包
# 官方推荐的导包方式,如果是跨包导入,最好使用从顶层向下的方式导入
# 一般来说顶层是存在目录中的,通过sys.path查看,如果不存在,就添加进去
import sys, os
path = os.path.abspath('../..') # 向上两层,多层按需修改
sys.path.append(path) # 会追加到列表最尾部
from conf.conf1.config import TEST_CONF_DIC # 先追加路径,然后再导包
print(TEST_CONF_DIC['name']) # 我自己测试的内容
print(sys.path) # 查看系统path是否添加成功,append的结果一般在末尾
文件内容截图
说的再多也没用,再看不懂,就自己下载代码查看吧。写的好,就点个赞吧,谢谢。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/25234.html