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. Cassandra docker 使用记录

    环境介绍: docker 安装 cassandra 3.11.1 , 然后进入docker 的终端,输入 > cqlsh , 即可使用Cassandra了,详细介绍如下: 查看表空间descri ...

  2. Maven中央仓库地址整理

    最近做项目的时候,一直发现常用的oschina maven源一直都没有反应,后面发现原来oschina竟然关闭了maven源服务,后面经同事推荐了阿里云的maven源,这速度杠杠的 Maven 中央仓 ...

  3. Spring Cloud源码分析(四)Zuul:核心过滤器

    通过之前发布的<Spring Cloud构建微服务架构(五)服务网关>一文,相信大家对于Spring Cloud Zuul已经有了一个基础的认识.通过前文的介绍,我们对于Zuul的第一印象 ...

  4. Java多线程之控制执行顺序

    概念: 多线程在并发环境中的正常执行顺序是随机无序的,并不能按照期盼的结果输出. 因为启动一个线程时,线程并不会立即执行,而是等待CPU的资源调度,CPU能调度哪个线程,是通过多种复杂的算法计算而来. ...

  5. Jquery分享插件

    效果图如下: 代码如下: <!DOCTYPE HTML> <html style="padding-bottom: 54px;"> <head> ...

  6. Java对象之间的深度复制拷贝

    /* * Copyright (c) 1995, 2011, Oracle and/or its affiliates. All rights reserved. * ORACLE PROPRIETA ...

  7. Oracle存储过程中跳出循环的写法

    注:本文来源于: <  Oracle存储过程中跳出循环的写法   > Oracle存储过程中跳出循环的写法 记录exit和return的用法 1:exit用来跳出循环 loop IF V_ ...

  8. Confluence 6 邮件队列

    需要发送的电子邮件将会在邮件队列中进行等待,Confluence 的邮件队列每分钟刷新一次.Confluence 的管理员也可以手动的刷新邮件队列中等待发送的消息. 如果在发送的时候出现了错误,那么出 ...

  9. Java的动手动脑(五)

    日期:2018.11.1 星期四 博客期:021 Part1: 运行代码 class Grandparent { public Grandparent() { System.out.println(& ...

  10. Android源码分析一 Android系统架构

    一 Android系统架构 Linux内核层(Linux Kernel):Android系统基于Linux2.6内核,这一层为Android设备各种硬件提供了底层驱动,如显示驱动.音频驱动.照相机驱动 ...