os模块:
# 返回操作系统类型,值为posix是linux操作系统,值为nt是windows操作系统。
# print os.name
# 返回操作系统的详细信息
# print os.uname()
# 返回系统的环境变量
# print os.environ或print os.environ.get('KEY值')
# 判断是否是绝对路径(不会判断文件或目录是否存在)
# print os.path.isabs('路径')
# 生成绝对路径
# print os.path.abspath('happy.jpg')
# print os.path.join('/home/kiosk/Desktop','happy.jpg')
# print os.path.join(os.path.abspath('.'),'happy.jpg')
# 获取目录名或文件名
# filename = '/home/kiosk/PycharmProjects/python/08'
# print os.path.basename(filename)
# print os.path.dirname(filename)
# 创建目录/删除目录
# os.mkdir('img')
# os.makedirs('img/file')
# os.rmdir('img')
# 创建文件/删除文件
# os.mknod('westos.txt')
# os.remove('westos.txt')
# os.mknod('westos.txt')
# 文件的重命名
# os.rename('westos.txt','data.txt')
# 判断文件或者目录是否存在
# print os.path.exists('data.txt')
# print os.path.exists('hello.txt')
# 分离后缀名和文件名
# print os.path.splitext('data.txt')
# 将目录名和文件名分离:
print os.path.split('/tmp/hello/hello.png')
例题练习:
1.在当前目录新建目录img,里面包含多个文件,文件名个不相同(X4G5.png)
2.将当前img目录所有以.png结尾的后缀名改为.jpg
import os
import random
import string
def gen_code(len=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:
"""
if os.path.exists(dirname):
pngfile = [filename for filename in os.listdir(dirname) if filename.endswith(old_suffix)]
basefile = [os.path.splitext(filename)[0] for filename in pngfile]
print basefile
for filename in basefile:
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')