Python--os的常见方法
1、os.getcwd()+'/filename'------>相当于在当前运行文件的目录下创建一个以filename命名的文件
2、os.path.realpath(__file__)------>获取当前文件路径(C:\Users\admin\PycharmProjects\test_case\test_unitest.py)---->__file__表示的是当前文件---->这个精确到.py文件
3、os.path.dirname(__file__)------>获取当前文件的上级目录(C:\Users\admin\PycharmProjects\test_case)----->到.py文件的上一级文件夹
4、
import os;
print(os.path.realpath(__file__));
3、os.rename('要修改名字的文件地址','名称修改后');
问题:我将当前py文件修改名称后,py文件变为text类型了 4、获取地址路径名和获取指定文件名
#path.basename:某地址下,只获取文件名称
aa=os.path.basename(os.path.realpath(__file__));
bb=os.path.basename(r'D:\Users\4399-3046\Desktop\test.txt');
print(aa);#---->test_index_2.py
print(bb);#----->test.txt #path.dirname:只获取地址路径,不获取文件
cc=os.path.dirname(os.path.realpath(__file__))
dd=os.path.dirname(r'D:\Users\4399-3046\Desktop\test.txt');
print(cc);#---->C:\Users\4399-3046\PycharmProjects\test_case
print(dd);#----->D:\Users\4399-3046\Desktop
3、os的其他常用用法
os.path.exists():判断文件或目录是否存在
if(os.path.exists(os.path.dirname(__file__))):
print('存在');
else:
print('不存在');
os.path.isfile():判断是否是文件
os.path.isdir():判断是否是目录
os.path.dirname():获取当前文件所在的目录,即父目录
os.makedirs():创建多级目录
os.mkdir():创建单级目录
os.path.getsize():获取文件大小
4、因为找到path,可能还需要判断是否为文件还是文件夹,有可能还需要对文件进行读写
此处,对于文件的相关操作,可以使用python3的一个内建模块:pip install pathlib,会更简单
使用方法可参考:https://www.cnblogs.com/sigai/p/8074329.html
基本用法:
Path.iterdir() #遍历目录的子目录或者文件
Path.is_dir() #判断是否是目录
Path.glob() #过滤目录(返回生成器)
Path.resolve() #返回绝对路径
/ # 拼接路径(目录中进行导航-官网说法)
Path.exists() #判断路径是否存在
Path.open() #打开文件(支持with)
Path.unlink() #删除文件或目录(目录非空触发异常)
基本属性:
Path.parts #分割路径 类似os.path.split(), 不过返回元组
Path.drive #返回驱动器名称
Path.root #返回路径的根目录
Path.anchor #自动判断返回drive或root
Path.parents #返回所有上级目录的列表 改变路径:
Path.with_name() #更改路径名称, 更改最后一级路径名
Path.with_suffix() #更改路径后缀
/ #拼接路径
Path.joinpath() #拼接路径
Path.relative_to() #计算相对路径 测试路径:
Path.match() #测试路径是否符合pattern
Path.is_dir() #是否是文件
Path.is_absolute() #是否是绝对路径
Path.is_reserved() #是否是预留路径
Path.exists() #判断路径是否真实存在 其他方法:
Path.cwd() #返回当前目录的路径对象
Path.home() #返回当前用户的home路径对象
Path.stat() #返回路径信息, 同os.stat()
Path.chmod() #更改路径权限, 类似os.chmod()
Path.expanduser() #展开~返回完整路径对象
Path.mkdir() #创建目录
Path.rename() #重命名路径
Path.rglob() #递归遍历所有子目录的文件
Python--os的常见方法的更多相关文章
- Python OS 文件/目录方法
Python OS 文件/目录方法 os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os. ...
- Python 中的 os 模块常见方法?
os.remove() 删除文件 os.rename() 重命名文件 os.walk() 生成目录树下的所有文件名 os.chdir() 改变目录 os.mkdir/makedirs 创建目录/多层目 ...
- python os模块使用方法
os.path模块 basename('文件路径') 去掉目录路径,返回fname文件名 1 import os 2 os.path.basename('/Volumes/1.mp4') ...
- python os.path.basename()方法
返回path最后的文件名.如果path以/或\结尾,那么就会返回空值.即os.path.split(path)的第二个元素. >>> import os >>> p ...
- Python day3_string的常见方法2_笔记
1.分割字符串的4个方法partition,rpartition,split,rsplit(区别,partition是仅分割一个,split分割全部,r是从右边开始分割,split可以传参数,自定义分 ...
- python字符串的常见方法
1.join方法:拼接字符串------->str a = "你是风儿我是沙"b = "@".join(a)print(b)>>>你@是 ...
- Python - dict 字典常见方法
字典详解 https://www.cnblogs.com/poloyy/p/15083781.html get(key) 作用 指定键,获取对应值 两种传参 dict.get(key):键存在则返回对 ...
- Python day4_list的常见方法1_笔记(浅拷贝和深拷贝的简述)
li=[1,2,3,'55dd'] li.clear()#清除列表内容 print(li) li.append(1)#追加 li.append(3) print(li) #拓展:直接赋值和copy和d ...
- Python - list 列表常见方法
list.append(x) 介绍 在列表的末尾添加一个元素 相当于 a[len(a):] = [x] 返回值 None 栗子 # append a = [1, 2, 3] b = [4, 5, 6 ...
- Python os.getcwd() 方法
Python os.getcwd() 方法 Python OS 文件/目录方法 概述 os.getcwd() 方法用于返回当前工作目录. 语法 getcwd()方法语法格式如下: os.getcwd ...
随机推荐
- Cassandra docker 使用记录
环境介绍: docker 安装 cassandra 3.11.1 , 然后进入docker 的终端,输入 > cqlsh , 即可使用Cassandra了,详细介绍如下: 查看表空间descri ...
- Maven中央仓库地址整理
最近做项目的时候,一直发现常用的oschina maven源一直都没有反应,后面发现原来oschina竟然关闭了maven源服务,后面经同事推荐了阿里云的maven源,这速度杠杠的 Maven 中央仓 ...
- Spring Cloud源码分析(四)Zuul:核心过滤器
通过之前发布的<Spring Cloud构建微服务架构(五)服务网关>一文,相信大家对于Spring Cloud Zuul已经有了一个基础的认识.通过前文的介绍,我们对于Zuul的第一印象 ...
- Java多线程之控制执行顺序
概念: 多线程在并发环境中的正常执行顺序是随机无序的,并不能按照期盼的结果输出. 因为启动一个线程时,线程并不会立即执行,而是等待CPU的资源调度,CPU能调度哪个线程,是通过多种复杂的算法计算而来. ...
- Jquery分享插件
效果图如下: 代码如下: <!DOCTYPE HTML> <html style="padding-bottom: 54px;"> <head> ...
- Java对象之间的深度复制拷贝
/* * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...
- Oracle存储过程中跳出循环的写法
注:本文来源于: < Oracle存储过程中跳出循环的写法 > Oracle存储过程中跳出循环的写法 记录exit和return的用法 1:exit用来跳出循环 loop IF V_ ...
- Confluence 6 邮件队列
需要发送的电子邮件将会在邮件队列中进行等待,Confluence 的邮件队列每分钟刷新一次.Confluence 的管理员也可以手动的刷新邮件队列中等待发送的消息. 如果在发送的时候出现了错误,那么出 ...
- Java的动手动脑(五)
日期:2018.11.1 星期四 博客期:021 Part1: 运行代码 class Grandparent { public Grandparent() { System.out.println(& ...
- Android源码分析一 Android系统架构
一 Android系统架构 Linux内核层(Linux Kernel):Android系统基于Linux2.6内核,这一层为Android设备各种硬件提供了底层驱动,如显示驱动.音频驱动.照相机驱动 ...