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. MVC5访问SQL Server数据库

    参考: MVC5+EF6简单实例---以原有SQLServer数据库两表联合查询为例 1.新建MVC项目: 新建基于MVC5的项目,命名为PracticeProject 2.Models文件夹(右击) ...

  2. String类型作为方法的形参

    代码: public class TestString { String str = new String("good"); char [] ch = {'a','b','c'}; ...

  3. 自定义admin(self_admin)

    admin.site.register(models.UserInfo)admin.site.register(models.Book,Book_admin)######当下面注册的这个表里面没有这个 ...

  4. Fiddler 抓包工具

    序章 Fiddler是一个蛮好用的抓包工具,可以将网络传输发送与接受的数据包进行截获.重发.编辑.转存等操作.也可以用来检测网络安全.反正好处多多,举之不尽呀!当年学习的时候也蛮费劲,一些蛮实用隐藏的 ...

  5. linux进程内存布局

      一个程序本质上都是由 BSS 段.data段.text段三个组成的.这样的概念在当前的计算机程序设计中是很重要的一个基本概念,而且在嵌入式系统的设计中也非常重要,牵涉到嵌入式系统运行时的内存大小分 ...

  6. Android 获取keystore SHA1方法

    (第一种方式)通过Android Studio编译器获取SHA1 第一步.打开Android Studio的Terminal工具 第二步.输入命令:keytool -v -list -keystore ...

  7. servlet web.xml配置选项详解

    一般的web工程中都会用到web.xml,web.xml主要包括一些配置标签,例如Filter.Listener.Servlet等,可以用来预设容器的配置,可以方便的开发web工程.但是web.xml ...

  8. iOS 中的block异常 判断block是否为空

    我们在调用block时,如果这个block为nil,则程序会崩溃,报类似于EXC_BAD_ACCESS(code=1, address=0xc)异常[32位下的结果,如果是64位,则address=0 ...

  9. Vuejs的一些总结

    http://blog.csdn.net/xllily_11/article/details/52312044 原文链接:http://mrzhang123.github.io/2016/07/14/ ...

  10. Ribbon服务消费者

    springcloud使用到两种消费工具,ribbon和feign ribbon实现了服务的负载均衡 feign默认集成了ribbon,一般情况下使用feign作为消费端 搭建消费者项目(Ribbon ...