前言:本文主要介绍python中路径的处理,包括os模块和有关的2个魔法变量。

一、os模块


python里面的os模块有许多方法可以让我们通过代码实现创建,删除和更改目录,具体如下:

  • os.getcwd():显示当前的工作路径,只具体到路径,不具体到文件
  • os.path.realpath(path):返回path的真实路径,如果参数是:file,就说明是本文件所在的绝对路径,对比二者的区别?
  • os.path.join(a,b):连接两个部分的路径,组成一个完整的路径
  • os.mkdir(路径名字):在某个目录下创建一个新目录
  • os.rmdir(路径名字):删掉一个目录
  • os.listdir():获取当前路径下的目录列表,返回列表格式数啹
  • os.path.isdir():判断当前文件是否是目录,返回布尔值
  • os.path.isfile():判断当前文件是否是文件,返回布尔值
  • os.chdir(path):将当前工作目录更改为指定路径
  • os.rename(name,newname):修改文件各字

还有更多的方法有兴趣请自行百度,以下是一些用法参考:

import time
import os
import sys # sys.path是python的搜索模块的路径集,用list存放
# 导入的包的搜索路径顺序按sys.path一个个往下找,如果在这些路径下都找不到这个包,就会报错 # 可以通过append()给它增加要使用的包的路径,
# for i in sys.path:
# print(i) # os模块:对操作系统进行操作的一系列动作都在os模块里
# 获取当前工作路径,只具体到路径,不具体到文件名
print(os.getcwd()) # 获取当前文件在操作系统中的绝对路径,具体到文件名
print(__file__) # 查看指定文件在系统中的绝对路径
print(os.path.realpath('test'))
print(os.path.realpath(__file__)) # os.path.join 拼接路径
path_01 = 'd:\learn'
path_02 = os.path.join(path_01, 'python')
print(path_02) # os.mkdir() :创建目录(文件夹)
# os.mkdir('test') # os.rmdir() :删除目录(只能删除空目录),如果目录下有文件,会报错 ,非空目录怎么删除,思考一下?
# os.rmdir('test') # 默认返回当前路径下的所有文件和目录信息,以列表形式返回
print(os.listdir())
print(os.listdir('d:\learn\test')) # os.path.isfile():判断当前文件是否是文件,返回布尔值 不传入路径默认搜索当前路径
# os.path.isdir():判断当前文件是否是文件,返回布尔值
print(os.path.isfile('task.py'))
print(os.path.isdir('test')) # od.chdir():切换当前工作路径
# print(os.getcwd())
# os.chdir('d:\learn')
# print(os.getcwd()) # 修改文件名
# os.rename('test.py','test2.py') # 返回上一级的目录
dir = __file__
print(os.path.dirname(dir))

二、魔法变量


什么是魔方变量?前后双下划线,系统定义名字(这就是在python中强大的魔法方法),因为变量名__xxx__对Python 来说有特殊含义,对于普通的变量应当避免这种命名风格,下面介绍python中的2个魔法变量。

1) __file__ : 代表当前文件的绝对路径

2) __name__ : 如果当前文件值程序的启动文件中,它的值是__main__如果不在启动文件中,代表的就是所在的文件(模块)的模块名

import os
# 魔术变量的操作
# print('当前运行文件中打印的__name__:',__name__) # 路径的处理
print(__file__) # 自动化测试项目,用到的路径基本会使用相对路径
# 这样不管项目放到哪个环境都能正常运行 # 获取文件/目录所在的父级目录
dir = os.path.dirname(__file__)
print(dir) BASEDIR = os.path.dirname(dir)
print(BASEDIR) # 这就是test.py的相对路径,而不是d:\python\test\test.py绝对路径
file_path = os.path.join(BASEDIR, "test.py")
print(file_path)

13、python的路径处理的更多相关文章

  1. Python之路【第二十四篇】:Python学习路径及练手项目合集

      Python学习路径及练手项目合集 Wayne Shi· 2 个月前 参照:https://zhuanlan.zhihu.com/p/23561159 更多文章欢迎关注专栏:学习编程. 本系列Py ...

  2. (转)Python学习路径及练手项目合集

    转载自知乎 Wayne Shi,仅仅为了方便收藏查看,侵权删. 阶段1:入门知识 零编程基础的可以先从下面几个教程了解编程及环境入门知识.(已有编程基础直接从阶段2起步) 1. 编程新手指南2. Li ...

  3. Mac查看Python安装路径和版本

    目录 #查看当前所有Python版本路径 appledeMBP:~ apple$ which python2.7 /usr/local/bin/python2.7 appledeMBP:~ apple ...

  4. Python学习路径及练手项目合集

    Python学习路径及练手项目合集 https://zhuanlan.zhihu.com/p/23561159

  5. 13.python笔记之pyyaml模块

    Date:2016-03-25 Title:13.Python笔记之Pyymal模块使用 Tags:Python Category:Python 博客地址:www.liuyao.me 作者:刘耀 YA ...

  6. 使用.pth文件扩展python环境路径

    使用.pth文件扩展python环境路径 有时候我们不希望把一个库放到 site-packages 下面,而是更愿意把它保留在原始的工程目录中,方便管理和维护.那么怎么能让 Python 运行环境找到 ...

  7. Python 安装路径, dist-packages 和 site-packages 区别

    Stack Overflow's answer 译: dist-packages is a Debian-specific convention that is also present in its ...

  8. python 模块路径查找 及 添加

    **** python 模块路径查找: 通过模块的__file__属性来确定: **** 模块路径添加: 方法一:函数添加1 import sys2 查看sys.path3 添加sys.path.ap ...

  9. python 文件路径操作方法(转)

    Python编程语言在实际使用中可以帮助我们轻松的实现一些特殊的功能需求.在这里我们将会为大家详细介绍一下有关Python文件路径的相关操作技巧,从而方便我们在实际开发中获得一些帮助. Python文 ...

随机推荐

  1. vue移动端图片上传压缩

    上传压缩方法 import {api} from '../../api/api.js'; import axios from 'axios'; export function imgPreview ( ...

  2. IntPtr、Struct 相互转换

    一般写c#代码基本用不到 相互转换 只有调用c++中的dll动态库的时候才用的到 struct转intptr public static IntPtr StructToIntPtr<T>( ...

  3. .Net Core解除文件上传大小限制

    一共要修改两处地方: \Startup.cs public void ConfigureServices(IServiceCollection services) { services.AddMvc( ...

  4. C++模板特化与偏特化

    C++模板 说到C++模板特化与偏特化,就不得不简要的先说说C++中的模板.我们都知道,强类型的程序设计迫使我们为逻辑结构相同而具体数据类型不同的对象编写模式一致的代码,而无法抽取其中的共性,这样显然 ...

  5. Vijos 1206 CoVH之再破难关 [BFS] [位运算]

    1.题意:一个由01组成的4*4的矩阵,可以实现相邻元素交换位置的操作,给出初试状态和目标状态,试求最少操作数的方案: 2.输入输出:输入给出初试矩阵和目标矩阵:要求输出最小操作的次数: 3.分析:输 ...

  6. 【Linux】Linux下date,time等时间设置

    date命令的帮助信息 [root@localhost source]# date --help用法:date [选项]... [+格式] 或:date [-u|--utc|--universal] ...

  7. Linux基础:认识Linux

    1.Linux操作系统的特点 优点 ​ (1)可靠性高:linux是基于Unix的概念开发出来的系统,拥有Unix的稳定且效率的特点.运行一年以上而不曾宕机.不必关机是很平常的事情 : ​ (2)彻底 ...

  8. WWDC2018 之 高性能 Auto Layout

    1. 关于 Auto Layout 的历史渊源 上世纪 90 年代,名叫 Cassowary的布局算法,通过将布局问题抽象成线性不等式,并分解成多个位置间的约束,解决了用户界面的布局问题. Apple ...

  9. 专业版12.0试用,打开演示账套,提示&ldquo;列名FPlatver无效&rdquo;

    你好,我代表研发来说明一下这个问题:一.产生的原因:由于KIS产品今年陆续都增加了应用平台,前期平台兼容性还有些问题,如果一台电脑有多个不同版本的平台,就会产生冲突,因此报错.1.可能您的机器装了多个 ...

  10. DEVOPS技术实践_06:sonar与Jenksin集成

    代码质量管理平台 一.checkout和打包功能 1.1 gitlab在新建一个文件 后续在写入内容 1.2 Jenkins新建一个任务 两个参数 1.3 流水线配置 copy仓库地址: http:/ ...