python常用模块之os模块

时间:2022-12-09 21:25:47

python常用模块之os模块

os模块可以处理文件和目录这些日常手动需要做的操作,比如常用的删除文件等。此外,os不受平台限制,非常方便。

常用功能

1、 os.name #显示当前使用的平台

import os
print( os.name)
>> 'nt' #windows

2、 os.getcwd() #显示当前python脚本工作路径

print( os.getcwd() )
>> F:\Projects\Python35\os

3、 os.listdir(‘dirname’) #返回指定目录下的所有文件和目录名

print( os.listdir('test')  )
>> ['123.txt'] # 输出文件夹test下的所有文件

4、 os.remove(‘filename’) #删除一个文件

os.remove('123.txt')
# 123.txt 文件已被删除,此函数不能用于删除文件夹

5、 os.rmdir(‘dirname’) #删除单级目录

os.rmdir('b')
# 删除b文件夹 ,注意此处b文件夹必须是空的

6、 os.mkdir(‘dirname’) #创建单个文件夹

os.mkdir('a')     #创建文件夹a

7、 os.makedirs(‘dirname/dirname’) #可生成多层递规目录

os.makedirs('aa/bb')   #创建了文件夹aa,以及aa下的文件夹bb

8、 os.rename(“oldname”,”newname”) #重命名文件

# 把a.txt改名称为b.txt , 此外也可以更改文件夹名称
os.rename('a.txt','b.txt')

9、 os.system() #运行shell命令,注意:这里是打开一个新的shell,运行命令,当命令结束后,关闭shell

# windows下dir命令列出所有文件,相当于 ls
os.system('dir')

11、 os.environ #获取系统环境变量

os.environ

12、 os.path.abspath(path) #显示当前绝对路径

print( os.path.abspath('b.txt') )
# F:\Projects\Python35\os\b.txt

13、 os.path.dirname(path) #返回该路径的父目录

print( os.path.abspath('b.txt') )
# F:\Projects\Python35\os\b.txt

print( os.path.dirname( os.path.abspath('b.txt') ) )
# F:\Projects\Python35\os

14、 os.path.basename(path) #返回该路径的最后一个目录或者文件,如果path以/或\结尾,那么就会返回空值。

# 此处输出为空
tt = 'C:\\Users\\Capital-D\\PycharmProjects\\untitled\\'
print( os.path.basename( tt ) )

# 输出 b.txt
print( os.path.basename( os.path.abspath('b.txt') ) )

15、 os.path.isfile(path) #如果path是一个文件,则返回True

print( os.path.isfile('b.txt') )
# True

16、 os.path.isdir(path) #如果path是一个目录,则返回True

print( os.path.isdir('bb') )
# True

17、 os.path.split(path) #将path分割成路径名和文件名。(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)

abs_path = os.path.abspath('b.txt')
p = os.path.split( abs_path )
print( p )
# ('F:\\Projects\\Python35\\os', 'b.txt')

18、 os.path.join(path,name) #连接目录与文件名或目录 结果为path/name

p = os.path.join('F:\\Projects\\Python35\\os' , 'b.txt')
print( p )
# F:\Projects\Python35\os\b.txt