品易云推流 关闭
文章详情页
文章 > Python基础教程 > python中操作文件的模块有几种?

python中操作文件的模块有几种?

python操作文件

头像

小妮浅浅

2021-03-30 09:40:354384浏览 · 0收藏 · 0评论

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

Python对文件操作采用的统一步骤是:打开—操作—关闭。

一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法

1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()

2.返回指定目录下的所有文件和目录名:os.listdir()

3.函数用来删除一个文件:os.remove()

4.删除多个目录:os.removedirs(r"c:\python")

5.检验给出的路径是否是一个文件:os.path.isfile()

6.检验给出的路径是否是一个目录:os.path.isdir()

7.判断是否是绝对路径:os.path.isabs()

8.检验给出的路径是否真地存:os.path.exists()

9.返回一个路径的目录名和文件名:os.path.split()

二、文件综合操作实例

将文件夹下所有图片名称加上'_fc'

# -*- coding:utf-8 -*-
 
import re
 
import os
 
import time
 
#str.split(string)分割字符串
 
#'连接符'.join(list) 将列表组成字符串
 
def change_name(path):
 
global i
 
if not os.path.isdir(path) and not os.path.isfile(path):
 
return False
 
if os.path.isfile(path):
 
file_path = os.path.split(path) #分割出目录与文件
 
lists = file_path[1].split('.') #分割出文件与文件扩展名
 
file_ext = lists[-1] #取出后缀名(列表切片操作)
 
img_ext = ['bmp','jpeg','gif','psd','png','jpg']
 
if file_ext in img_ext:
 
os.rename(path,file_path[0]+'/'+lists[0]+'_fc.'+file_ext)
 
i+=1 #注意这里的i是一个陷阱
 
#或者
 
#img_ext = 'bmp|jpeg|gif|psd|png|jpg'
 
#if file_ext in img_ext:
 
# print('ok---'+file_ext)
 
elif os.path.isdir(path):
 
for x in os.listdir(path):
 
change_name(os.path.join(path,x)) #os.path.join()在路径处理上很有用
 
img_dir = 'D:\\xx\\xx\\images'
 
img_dir = img_dir.replace('\\','/')
 
start = time.time()
 
i = 0
 
change_name(img_dir)
 
c = time.time() - start
 
print('程序运行耗时:%0.2f'%(c))
 
print('总共处理了 %s 张图片'%(i))

以上就是python中操作文件的模块,大家在看完文章后,可以就这两种模块中的方法分别进行尝试,然后挑选出自己更为喜欢的操作模式。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图