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的常见方法的更多相关文章

  1. Python OS 文件/目录方法

    Python OS 文件/目录方法 os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os. ...

  2. Python 中的 os 模块常见方法?

    os.remove() 删除文件 os.rename() 重命名文件 os.walk() 生成目录树下的所有文件名 os.chdir() 改变目录 os.mkdir/makedirs 创建目录/多层目 ...

  3. python os模块使用方法

    os.path模块 basename('文件路径')    去掉目录路径,返回fname文件名  1 import os 2 os.path.basename('/Volumes/1.mp4')   ...

  4. python os.path.basename()方法

    返回path最后的文件名.如果path以/或\结尾,那么就会返回空值.即os.path.split(path)的第二个元素. >>> import os >>> p ...

  5. Python day3_string的常见方法2_笔记

    1.分割字符串的4个方法partition,rpartition,split,rsplit(区别,partition是仅分割一个,split分割全部,r是从右边开始分割,split可以传参数,自定义分 ...

  6. python字符串的常见方法

    1.join方法:拼接字符串------->str a = "你是风儿我是沙"b = "@".join(a)print(b)>>>你@是 ...

  7. Python - dict 字典常见方法

    字典详解 https://www.cnblogs.com/poloyy/p/15083781.html get(key) 作用 指定键,获取对应值 两种传参 dict.get(key):键存在则返回对 ...

  8. Python day4_list的常见方法1_笔记(浅拷贝和深拷贝的简述)

    li=[1,2,3,'55dd'] li.clear()#清除列表内容 print(li) li.append(1)#追加 li.append(3) print(li) #拓展:直接赋值和copy和d ...

  9. Python - list 列表常见方法

    list.append(x) 介绍 在列表的末尾添加一个元素 相当于  a[len(a):] = [x] 返回值 None 栗子 # append a = [1, 2, 3] b = [4, 5, 6 ...

  10. Python os.getcwd() 方法

    Python os.getcwd() 方法  Python OS 文件/目录方法 概述 os.getcwd() 方法用于返回当前工作目录. 语法 getcwd()方法语法格式如下: os.getcwd ...

随机推荐

  1. python ctypes

    official tutorial for ctypes libhttps://docs.python.org/3/library/ctypes.html 1 ctypes exports the c ...

  2. Android下利用zbar类库实现扫一扫

    程序源代码及可执行文件下载地址:http://files.cnblogs.com/rainboy2010/zbardemo.zip Android下常用的条码扫描类库有zxing和zbar,比较了一下 ...

  3. 如何用Axure快速制作APP交互原型

    对于产品经理来说,熟练使用一些常用软件是一项十分必要的技能.其中,作为一个专业的快速原型设计工具,Axure RP无疑在产品人心中拥有一个难以撼动的地位.但就要PS一样,虽然足够专业,但同样也会存在使 ...

  4. OracleAES加密

    OracleAES加密 (2012-04-29 21:52:15)转载▼标签: oracle aes 加密 it 分类: 开发-- 加密函数CREATE OR REPLACE FUNCTION FUN ...

  5. window Maven私服搭建——nexus

    注:本文来源于 <window   Maven私服搭建--nexus> Maven私服搭建--nexus 1.下载nexus https://www.sonatype.com/downlo ...

  6. java如何将一个List传入Oracle存储过程

    注:本文来源于  深圳gg  < java如何将一个List传入Oracle存储过程   > 一:数据库端建一个PL/SQL的数组. CREATE OR REPLACE TYPE tabl ...

  7. Confluence 6 自定义主面板

    主面板(dashboard)是你 Confluence 站点的默认载入页面.这个页面能够给用户能够找到其他页面的所有必须的工具,重新进入未完成的工作或者快速导航到喜欢的空间和页面 站点的欢迎信息将会在 ...

  8. STL 容器区别:vector、list、deque、set、map的底层实现

    https://blog.csdn.net/shawjan/article/details/45424405

  9. Java并发编程基础-线程安全问题及JMM(volatile)

    什么情况下应该使用多线程 : 线程出现的目的是什么?解决进程中多任务的实时性问题?其实简单来说,也就是解决“阻塞”的问题,阻塞的意思就是程序运行到某个函数或过程后等待某些事件发生而暂时停止 CPU 占 ...

  10. Brup Suite 渗透测试笔记(五)

    之前章节记到Burp Intruder功能区,接上次笔记 一.首先说再展开说说Brup Intruder功能, 1.标识符枚举Web应用程序经常使用标识符来引用用户账户,资产数据信息. 2.提取有用的 ...