python中操作文件的模块的方法总结
作者:小妮浅浅 发布时间:2022-02-01 04:56:14
标签:python,操作文件
在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)
来源:https://www.py.cn/jishu/jichu/23592.html
0
投稿
猜你喜欢
- 目前网络上大部分博客的结论都是这样的:Python不允许程序员选择采用传值还是传 引用。Python参数传递采用的肯定是“传对象引用”的方式
- Django的Field类中方法有:to_python() # 把数据库数据转成python数据from_db_value() # 把数据库
- 前言这是我在搭建Django项目时候的过程,拿来总结记录,以备不时之需。项目采用nginx+uwsgi的搭配方式。项目依赖包采用 requi
- 环境python3,开发平台pycharm,使用urllib时,当url中存在中文时会出现以下错误:UnicodeEncodeError:
- 当你要使用data URI scheme的时候,你会发现,虽然他可以使用在绝大多数浏览器上,但无法再IE6和IE7上工作。不过值得庆幸的这一
- 在使用SQL Server 的过程,中由于经常需要从多个不同地点将数据集中起来或向多个地点复制数据,所以数据的导出,导入是极为常见的操作.我
- 1、说明创建堆有两种基本方法:heappush() 和 heapify()。当使用heappush()时,当新元素添加时,堆得顺序被保持了。
- 写在之前这几天的阅读量蜜汁低,是什么原因我也没搞清楚,如果你们觉得我哪里写的有问题,或者是哪里不好,欢迎后台或者微信告知我,先行谢过。昨天的
- 布尔类型是PHP中 最简单的类型。它的值可以为 TRUE 或 FALSE。如:$foo=false;$foo1=true;echo &quo
- 在上一节《Django是什么》中,我们对 Django 的诞生以及 Web 框架的概念有了基本的了解,本节我们介绍 Django 的设计模式
- 本文实例讲述了python通过wxPython打开一个音频文件并播放的方法。分享给大家供大家参考。具体如下:这段代码片段使用wx.lib.f
- 本文为大家分享了pygame游戏之旅的第11篇,供大家参考,具体内容如下定义一个button函数,将文字,颜色等作为参数。def butto
- 获取单输入尺寸,该层只被使用了一次。import kerasfrom keras.layers import Input, LSTM, De
- 引言最近在做个表情包的小程序,涉及到表情包搜索功能。我们上传表情包的时候,只有一张图,怎么搜索?这个时候我们想到就是将表情包的文字提取出来,
- 获取nc数据的相关信息from netCDF4 import Datasetimport numpy as npimport pandas
- 本文实例讲述了Python实现获取磁盘剩余空间的2种方法。分享给大家供大家参考,具体如下:方法1:import ctypesimport o
- python一直被病垢运行速度太慢,但是实际上python的执行效率并不慢,慢的是python用的解释器Cpython运行效率太差。“一行代
- 本文介绍基于Python语言,针对一个文件夹下大量的Excel表格文件,基于其中每一个文件的名称,从另一个文件夹中找到与这一文件夹中文件同名
- 版本:平台:ubuntu 14 / I5 / 4G内存python版本:python2.7opencv版本:2.13.4依赖:如果系统没有p
- numpy中有一个掩码数组的概念,需要通过子模块numpy.ma来创建,基本的创建方式如下>>> import numpy