python中操作文件的模块的方法总结


Posted in Python onFebruary 04, 2021

在python中操作文件算是一个基本操作,但是选对了模块会让我们的效率大大提升。本篇整理了两种模块的常用方法,分别是os模块和shutil模块。相信这两种模块大家在之间的学习中有所涉及,那么关于具体的文件操作部分,我们一起往下看看都有哪些方法和实例吧。

本教程操作环境:windows7系统、Python3版、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 3
# -*- coding:utf-8 -*-
# Autor: GrayMac
import shutil
import os

basefileclass = 'basefile'
#sourcefile:源文件路径 fileclass:源文件夹 destinationfile:目标文件夹路径
def copy_file(sourcefile,fileclass,destinationfile):
 #遍历目录和子目录
 for filenames in os.listdir(sourcefile):
  #取得文件或文件名的绝对路径
  filepath = os.path.join(sourcefile,filenames)
  #判断是否为文件夹
  if os.path.isdir(filepath):
   if fileclass == basefileclass :
    copy_file(filepath,fileclass + '/' + filenames,destinationfile + '/' + filenames)
   else :
    copy_file(filepath,fileclass,destinationfile + '/' + filenames)
  #判断是否为文件
  elif os.path.isfile(filepath):
   print('Copy %s'% filepath +' To ' + destinationfile)
   #如果无文件夹则重新创建
   if not os.path.exists(destinationfile):
    os.makedirs(destinationfile)
   shutil.copy(filepath,destinationfile)
    
copy_file(sourcefile,basefileclass,destinationfile)

到此这篇关于python中操作文件的模块的方法总结的文章就介绍到这了,更多相关python中操作文件的模块有几种内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Django1.3添加app提示模块不存在的解决方法
Aug 26 Python
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 Python
Python配置mysql的教程(推荐)
Oct 13 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
Dec 20 Python
python用户管理系统的实例讲解
Dec 23 Python
用tensorflow搭建CNN的方法
Mar 05 Python
对Python中gensim库word2vec的使用详解
May 08 Python
使用tensorflow实现线性回归
Sep 08 Python
pygame游戏之旅 调用按钮实现游戏开始功能
Nov 21 Python
详解Python3注释知识点
Feb 19 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
python 实现百度网盘非会员上传超过500个文件的方法
Jan 07 Python
Python3利用openpyxl读写Excel文件的方法实例
Feb 03 #Python
python之openpyxl模块的安装和基本用法(excel管理)
Feb 03 #Python
python中time.ctime()实例用法
Feb 03 #Python
python中Array和DataFrame相互转换的实例讲解
Feb 03 #Python
利用Python过滤相似文本的简单方法示例
Feb 03 #Python
python time.strptime格式化实例详解
Feb 03 #Python
Python字符串的15个基本操作(小结)
Feb 03 #Python
You might like
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
2014/01/31 PHP
PHP实现事件机制实例分析
2015/06/26 PHP
php实现与python进行socket通信的方法示例
2017/08/30 PHP
php实现生成带二维码图片并强制下载功能
2018/02/24 PHP
SWFObject Flash js调用类
2008/07/08 Javascript
为Extjs加加速(javascript加速)
2010/08/19 Javascript
在javascript中执行任意html代码的方法示例解读
2013/12/25 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
JS拉起或下载app的实现代码
2017/02/22 Javascript
基于js中的原型(全面讲解)
2017/09/19 Javascript
jquery实现楼层滚动效果
2018/01/01 jQuery
vue移动UI框架滑动加载数据的方法
2018/03/12 Javascript
vue2.0 移动端实现下拉刷新和上拉加载更多的示例
2018/04/23 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
vue.js循环radio的实例
2019/11/07 Javascript
vue 获取url里参数的两种方法小结
2020/11/12 Javascript
[45:18]2018DOTA2亚洲邀请赛 4.3 突围赛 Optic vs iG 第一场
2018/04/04 DOTA
python中如何使用朴素贝叶斯算法
2017/04/06 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
定义css设备类型-Media Queries图表简介及使用方法
2013/01/21 HTML / CSS
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
德国50岁以上交友网站:Lebensfreunde
2020/03/18 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
南京某软件公司的.net面试题
2015/11/30 面试题
会计主管岗位职责
2014/01/03 职场文书
军训自我鉴定
2014/01/22 职场文书
绩效管理实施方案
2014/03/19 职场文书
煤矿安全生产标语
2014/06/06 职场文书
舞蹈兴趣小组活动总结
2014/07/07 职场文书
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
Java 数据结构七大排序使用分析
2022/04/02 Java/Android
Java的Object类的九种方法
2022/04/13 Java/Android