Python Journey - Day12 - OS模块

os调用操作系统文件和命令

import os
os.system('notepad.exe')
os.system('ping www.baidu.com')
os.system('cmd')
os.startfile(r'C:\WeChat.exe')

文件和目录操作

os模块下常用操作文件方法

方法名描述
remove(path)删除指定的文件
rename(src,dest)重命名文件或目录
stat(path)返回文件的所有属性
listdir(path)返回path目录下的文件和目录列表

os模块下关于目录操作的方法

方法名描述
mkdir(path)创建目录
makedirs(path1/path2/path3/…创建多级目录
rmdir(path)删除目录
removedirs(path1/path2…)删除多级目录(文件夹为空))
getcwd()返回当前工作目录: current work dir
chdir(path)把path设为当前工作目录
walk()遍历目录树
sep当前操作系统所使用的路径分隔符
#获取文件和文件夹相关信息
print(os.name)  # windows -> nt    linux -> posix
print(os.sep)   # windows -> \     linux -> /
print(repr(os.linesep))  # windows -> \r\n  linux -> \n\
print(os.stat('os.py'))

#关于工作目录的操作
print(os.getcwd())
os.chdir('d:')
os.mkdir('test1')

#创建目录,创建多级目录,删除
#os.mkdir('test2')   #创建
#os.rmdir('test3')   #删除
#os.makedirs('1/2/3')   #创建多级目录
os.removedirs('1/2/3')  #删除多级目录

#重命名
os.rename('test2','tet2')

#显示子目录及文件 (下一级子目录文件不会列出)
dirs = os.listdir('tet2')
print(dirs)
nt
\
'\r\n'
os.stat_result(st_mode=33206, st_ino=6473924464547444, st_dev=580033374, st_nlink=1, st_uid=0, st_gid=0, st_size=556, st_atime=1621172231, st_mtime=1621172231, st_ctime=1621170705)
C:\2021.5.16

['22.py', 'tets1']

在这里插入图片描述

os.path模块

提供了目录相关(路径判断,路径切分,路径链接,文件夹遍历)的操作

方法描述
isabs(path)判断path是否绝对路径
isdir(path)判断path是否为目录
isfile(path)判断path是否为文件
exists(path)判断指定路径的文件是否存在
getsize(filename)返回文件的大小
abspath(path)返回绝对路径
dirname§返回目录的路径
getatime(filename)返回文件的最后访问时间
getmtime(filename)返回文件的最后修改时间
walk(top, func,arg)递归方式遍历目录
join(path, *paths)连接多个path
split(path)对路径进行分割,以列表形式返回
splitext(path)从路径中分割文件的扩展名
import os.path
print(os.path.isabs('d:/a.txt'))  #判断是否绝对路径
print(os.path.isdir('d:/a.txt'))  #判断是否为目录
print(os.path.isfile('d:/a.txt'))  #判断是否为文件
print(os.path.exists('d:/a.txt'))  #判断文件是否存在
True
False
True
True
#获得文件基本信息
print(os.path.getsize('d:/a.txt'))  #获取文件大小
print(os.path.abspath('d:/a.txt'))  #获取文件绝对路径
print(os.path.dirname('d:/a.txt'))  #获取目录的路径

print(os.path.getctime('d:/a.txt'))  #获取文件最后改变时间
print(os.path.getatime('d:/a.txt'))  #获取文件最后访问时间
print(os.path.getmtime('d:/a.txt'))  #获取文件最后修改时间

#对路径的操作
path = os.path.abspath('d:/a.txt')
print(os.path.split(path))   #对路径进行分割,以列表形式返回
print(os.path.splitext(path)) #从路径中分割文件的扩展名

print(os.path.join('aa','bb','cc'))  #连接多个path
32
d:\a.txt
d:/
1621084752.149624
1621134464.6233459
1621134459.6912696
('d:\\', 'a.txt')
('d:\\a', '.txt')
aa\bb\cc

列出目录下所有的.py文件 并输入文件名

#列出目录下所有的.py文件 并输入文件名

path = os.getcwd()
filelist = os.listdir(path) #列出子目录,子文件
for filename in filelist:
    if filename.endswith('py'):
        print(filename)

print('#################')
filelist2 = [filename for filename in os.listdir(path) if filename.endswith('py')]
for f in filelist2:
    print(f, end='\t')
file.py
OS.py
#################
file.py	OS.py	

os.walk()

walk() 递归遍历所有文件和目录
方法:
返回一个3元素的元组(dirpath, dirnames, filenames)

  1. dirpath 列出指定目录的路径
  2. dirnames 目录下的所有文件夹
  3. filenames 目录下的所有文件
import os
all_files = []
path = os.getcwd()
list_files = os.walk(path)

for dirpath, dirnames, filenames in list_files:
    for dir in dirnames:
        all_files.append(os.path.join(dirpath, dir))
    for file in filenames:
        all_files.append(os.path.join(dirpath, file))

#打印所有子目录和子文件
for file in all_files:
    print(file)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值