python os模块

os模块:提供对操作系统进行调用的接口

getcwd()

获取当前工作目录,即当前python脚本工作的目录路径

import os
print(os.getcwd())

执行输出

E:\python_script\day5\test4

chdir()

改变当前脚本工作目录;相当于shell下cd

路径带2个斜杠

import os
os.chdir("E:\\python_script\day5")

第2种方式,前面加r,就可以写一个斜杠(推荐使用)

os.chdir(r"E:\python_script\day5")

curdir

返回当前目录: ('.')

print(os.curdir)

执行输出 .  表示当前路径

pardir

获取当前目录的父目录字符串名:('..')

print(os.pardir)

执行输出 .. 表示上一级目录

makedirs()

可生成多层递归目录

os.makedirs(r"E:\python_script\a\b\c\d")

执行程序,查看目录

removedirs()

若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

os.removedirs(r"E:\python_script\a\b\c\d")

执行程序,查看目录,发现a文件夹被删除了。

它删除的顺序是d -> c -> b -> a

这个方法,适合删除空文件夹。

mkdir()

生成单级目录;相当于shell中mkdir dirname

os.mkdir(r"D:\a")

执行程序,查看目录是否创建了。

rmdir()

删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname

os.rmdir(r"D:\a")

执行程序,查看目录是否删除了

listdir()

列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

print(os.listdir(r"D:\360Downloads\HotFix"))

执行输出

['powerpoint-x-none_2eabe4e68fdec5b04e2acae387a5ee1f9220171f.cab', 'project-x-none_d0db108640107ca4cba1051d639d81ca527ce144.cab', 'windows10.0-kb4074590-x64-express_e59d5bab6305eebb253efe7377ac4e1c82009c83.cab']

remove()

删除一个文件

os.remove(r"D:\360Downloads\HotFix\sys")

执行程序,查看目录是否删除了

rename()

重命名文件/目录

os.rename(r"D:\a",r"D:\b")

执行程序,查看文件夹是否变成了b

stat()

获取文件/目录信息

print(os.stat(r"D:\b"))

执行输出

os.stat_result(st_mode=16895, st_ino=123848989752689532, st_dev=2255440603, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1519907386, st_mtime=1519907386, st_ctime=1519907386)

sep

输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"

os.sep

在cmd执行输出 \\

Pycharm编辑器执行输出 \

linesep

输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"

os.linesep

在cmd执行输出 '\r\n'

pathsep

输出用于分割文件路径的字符串

print(os.pathsep)

执行输出 ;

name

输出字符串指示当前使用平台。win->'nt'; Linux->'posix'

print(os.name)

执行输出 nt

system()

执行系统命令

print(os.system("systeminfo"))

执行输出

主机名:           DESKTOP-CFMVJ8G

OS 名称:          Microsoft Windows 10 家庭中文版

...

environ

获取系统环境变量

print(os.environ)

执行输出,由于输出过多,直接...表示了。

environ({'ALLUSERSPROFILE': 'C:\\ProgramData', 'APPDATA': 'C:\\Users\\xiao\\AppData\\Roaming', ...})

os.path.abspath(path)

返回path规范化的绝对路径

print(os.path.abspath(__file__))

执行输出,当前文件的绝对路径

E:\python_script\day5\test4\test.py

os.path.split(path)

将path分割成目录和文件名二元组返回

print(os.path.split(r"d:\a\test.txt"))

执行输出

('d:\\a', 'test.txt')

os.path.dirname(path)

返回path的目录。其实就是os.path.split(path)的第一个元素

print(os.path.dirname(__file__))

执行输出

E:/python_script/day5/test4

os.path.basename(path)

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

print(os.path.basename(__file__))

执行输出 test.py

os.path.exists(path)

如果path存在,返回True;如果path不存在,返回False

print(os.path.exists(r"d:\b"))

执行输出 True

os.path.isabs(path)

如果path是绝对路径,返回True

print(os.path.isabs(r"d:\b"))

执行输出 True

os.path.isfile(path)

如果path是一个存在的文件,返回True。否则返回False

print(os.path.isfile(r"d:\b"))

执行输出 False

os.path.isdir(path)

如果path是一个存在的目录,则返回True。否则返回False

print(os.path.isdir(r"d:\b"))

执行输出 True

os.path.join(path1[, path2[, ...]])

将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

print(os.path.join(r'c:',r'\a.txt'))

执行输出

c:\a.txt

os.path.getatime(path)

返回path所指向的文件或者目录的最后存取时间

print(os.path.getatime(r'D:\nhewminer\start.bat'))

执行输出

1514088795.8196068

os.path.getmtime(path)

返回path所指向的文件或者目录的最后修改时间

print(os.path.getmtime(r'D:\nhewminer\start.bat'))

执行输出

1514041544.0

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏zhisheng

Guava Cache 用法介绍

Guava Cache是在内存中缓存数据,相比较于数据库或redis存储,访问内存中的数据会更加高效。Guava官网介绍,下面的这几种情况可以考虑使用Guava...

10820
来自专栏noteless

-1-5 java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁 sleep()和wait()方法的区别 为什么wait(),

java 多线程 概念 进程 线程区别联系 java创建线程方式 线程组 线程池概念 线程安全 同步 同步代码块 Lock锁  sleep()和wait()方法...

11840
来自专栏智能算法

Python学习(六)---- 常用模块必备知识

https://blog.csdn.net/fgf00/article/details/52357477

19030
来自专栏逸鹏说道

C# 温故而知新: 线程篇(二) 上

线程池和异步线程 目录: 1 什么是CLR线程池? 2 简单介绍下线程池各个优点的实现细节 3 线程池ThreadPool的常用方法介绍 4 简单理解下异步线程...

33190
来自专栏写代码的海盗

scala actor编程之对象传递

scala 最吸引人的一点就是actor并发编程了。但是纵观scala官方文档,baidu文档,IBM文档都写的通过字符串传呀传,如果用作actor编程说明当然...

29990
来自专栏Java编程技术

一个有关定时生产与消费的问题

按照上面的逻辑看的话,每个队列里面最多有一个元素。其实不然,因为在多线程模型中每个线程占用cpu执行的时间是按照时间片来划分的,每个线程执行完自己的时间片后会被...

9210
来自专栏海天一树

小朋友学Java(12):包

包(package)是Java语言提供的一种区别类名字命名空间的机制,它是类的一种文件组织和管理方式、是一组功能相似或相关的类或接口的集合。Java packa...

31260
来自专栏抠抠空间

python常见模块之os模块

os模块是python系统与操作系统交互的一个接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirn...

30660
来自专栏从零开始学自动化测试

pytest文档14-函数传参和fixture传参数request

为了提高代码的复用性,我们在写用例的时候,会用到函数,然后不同的用例去调用这个函数。 比如登录操作,大部分的用例都会先登录,那就需要把登录单独抽出来写个函数,其...

54020
来自专栏GreenLeaves

JS模块加载系统设计V1

一、require模块 +function() { var path = location.protocol + "//" + loca...

21350

扫码关注云+社区

领取腾讯云代金券