python的OS模块
程序员文章站
2024-03-24 12:37:58
...
1.返回操作系统类型
os.name
值:posix(linux操作系统)
值:nt(windows操作系统)
2.返回操作系统详细信息
os.uname()
3.系统的环境变量
os.environ
os.environ.get('PATH')
4.是否是绝对路径
os.path.isabs('/hello')
不会判断文件或目录是否存在
5.生成绝对路径
os.path.abspath('hello.png')
os.path.join('/home','hello.png')
os.path.join(os.path.abspath('.'),'hello.png') 点表示当前路径
6.获取目录名和目录下的文件名
os.path.basename(filename)
os.path.dirname(filename)
filename为一个目录
7.创建目录,删除目录
os.mkdir('img')
os.makedirs('img/file') (mkdir -p)
os.rmdir('imag')
8.文件创建,删除
os.mknod('text')
os.remove('text')
9.文件重命名
os.rename('A',‘B’)
A必须存在
10.判断文件目录是否存在
os.path.exists('/home/kiosk/hello')
11.分离文件的后缀名和文件名
os.path.splitext('hello.png')
12.将目录名和文件名分离
os.path.split('/ss/ss/hello.png')
13.在当前目录新建目录img, 里面包含多个文件, 文件名各不相同(X4G5.png),将当前img目录所有以.png结尾的后缀名改为.jpg
import os
import random
import string
def gen_code(len=4):
# 随机生成4位文件名
li = random.sample(string.ascii_letters + string.digits, len)
# 将列表元素拼接成字符串
return ''.join(li)
def create_file():
# 随机生成多个文件名
li = {gen_code() for i in range(100)}
os.mkdir('img')
for name in li:
os.mknod('img/' + name + '.png')
def modify_suffix(dirname, old_suffix, new_suffix):
"""
:param dirname: 所要操作的目录
:param old_suffix: 之前的文件后缀
:param new_suffix: 新的文件后缀
:return:
"""
# 1.判断查找的目录是否存在,如果不存在,显示报错
if os.path.exists(dirname):
# 2.找出所有以old_suffix(.png)结尾的文件
pngfiles = [filename for filename in os.listdir(dirname)
if filename.endswith(old_suffix)]
# 3.将文件名和后缀名分开,留下文件名
basefiles = [os.path.splitext(filename)[0] for filename in pngfiles]
print basefiles
# 4.重命名
for filename in basefiles:
# 需要加上目录名
oldname = os.path.join(dirname, filename + old_suffix)
newname = os.path.join(dirname, filename + new_suffix)
os.rename(oldname, newname)
print '%s 重命名成%s成功' % (oldname, newname)
else:
print '%s 不存在不能操作....' % dirname
modify_suffix('img','.png','.jpg')
下一篇: n的全排列(解析)