【IT专家】Python文件操作及文件夹遍历
python之文件的读写和文件目录以及文件夹的操作实现代码

python之⽂件的读写和⽂件⽬录以及⽂件夹的操作实现代码为了安全起见,最好还是给打开的⽂件对象指定⼀个名字,这样在完成操作之后可以迅速关闭⽂件,防⽌⼀些⽆⽤的⽂件对象占⽤内存。
举个例⼦,对⽂本⽂件读取:file_object = open('thefile.txt')try:all_the_text = file_object.read( )finally:file_object.close( )Python读写⽂件实际操作的五⼤步骤⼀、打开⽂件Python读写⽂件在计算机语⾔中被⼴泛的应⽤,如果你想了解其应⽤的程序,以下的⽂章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下⾯我们就详细介绍其应⽤程序。
代码如下:f = open("d:\test.txt", "w")说明:第⼀个参数是⽂件名称,包括路径;第⼆个参数是打开的模式mode'r':只读(缺省。
如果⽂件不存在,则抛出错误)'w':只写(如果⽂件不存在,则⾃动创建⽂件)'a':附加到⽂件末尾'r+':读写如果需要以⼆进制⽅式打开⽂件,需要在mode后⾯加上字符"b",⽐如"rb""wb"等⼆、读取内容f.read(size)参数size表⽰读取的数量,可以省略。
如果省略size参数,则表⽰读取⽂件所有内容。
f.readline()读取⽂件⼀⾏的内容f.readlines()读取所有的⾏到数组⾥⾯[line1,line2,...lineN]。
在避免将所有⽂件内容加载到内存中,这种⽅法常常使⽤,便于提⾼效率。
三、写⼊⽂件f.write(string)将⼀个字符串写⼊⽂件,如果写⼊结束,必须在字符串后⾯加上"\n",然后f.close()关闭⽂件四、⽂件中的内容定位f.read()读取之后,⽂件指针到达⽂件的末尾,如果再来⼀次f.read()将会发现读取的是空内容,如果想再次读取全部内容,必须将定位指针移动到⽂件开始:f.seek(0)这个函数的格式如下(单位是bytes):f.seek(offset, from_what)from_what表⽰开始读取的位置,offset表⽰从from_what再移动⼀定量的距离,⽐如f.seek(10, 3)表⽰定位到第三个字符并再后移10个字符。
python 遍历文件夹实例

python 遍历文件夹实例遍历文件夹是我们在编程中经常需要处理的任务之一。
Python提供了os模块和os.path模块,可以方便地遍历文件夹并获取文件信息。
下面是一个关于遍历文件夹的实例,让我们一起来看看吧。
我们需要导入os模块和os.path模块:```pythonimport osimport os.path```然后,我们定义一个函数来遍历文件夹:```pythondef traverse_folder(folder_path):for root, dirs, files in os.walk(folder_path):# 遍历文件for file in files:file_path = os.path.join(root, file)# 打印文件路径print(file_path)```在这个函数中,我们使用了os.walk()函数来遍历文件夹。
os.walk()函数返回一个三元组,包含当前文件夹的路径、当前文件夹下的子文件夹列表和当前文件夹下的文件列表。
我们可以使用for循环来遍历这个三元组,获取文件夹中的文件信息。
在遍历文件夹时,我们可以根据自己的需求对文件进行操作。
例如,我们可以获取文件的大小、创建时间等信息,或者对文件进行复制、删除等操作。
下面是一个完整的示例代码,展示了如何遍历文件夹并打印文件路径:```pythonimport osimport os.pathdef traverse_folder(folder_path):for root, dirs, files in os.walk(folder_path):# 遍历文件for file in files:file_path = os.path.join(root, file)# 打印文件路径print(file_path)# 测试folder_path = 'D:/example_folder'traverse_folder(folder_path)```以上就是一个简单的遍历文件夹的实例。
python 遍历路径下所有文件的方法

python 遍历路径下所有文件的方法Python 是一种高级编程语言,它可以快速地遍历目录下的所有文件,并执行各种操作。
这里将分步骤介绍一些常用的遍历路径下所有文件的方法。
1. 使用 os.listdir() 方法os.listdir() 方法是 Python 中常用的一种遍历目录下所有文件的方法。
它会返回指定路径下所有的文件和子目录的名称,我们可以在返回的名称后面加上文件路径和文件名,以访问这些文件。
下面是使用 os.listdir() 方法遍历目录下所有文件的 Python 代码示例:```pythonimport osdef traverse_files(path):for file_name in os.listdir(path):file_path = os.path.join(path, file_name)if os.path.isdir(file_path):traverse_files(file_path)else:print(file_path)```这段代码会在控制台输出路径下所有的文件路径和文件名。
2. 使用 os.walk() 方法os.walk() 方法是另一种常用的遍历目录下所有文件的方法。
它会依次返回当前路径、子目录列表和文件列表的元组,我们可以遍历这些元组以访问目录中的文件。
下面是使用 os.walk() 方法遍历目录下所有文件的 Python 代码示例:```pythonimport osdef traverse_files(path):for root, dirs, files in os.walk(path):for file_name in files:file_path = os.path.join(root, file_name)print(file_path)```这段代码会在控制台输出路径下所有的文件路径和文件名。
3. 使用 glob.glob() 方法glob.glob() 方法是一种可以根据指定的通配符来筛选文件的方法。
python编程之循环遍历文件夹下面的文件,以及获取文件夹名称

python编程之循环遍历⽂件夹下⾯的⽂件,以及获取⽂件夹名
称
要求
1、遍历⽂件夹ddd下⾯所有的⽂件
2、并且获取所有⽂件所在⽂件夹的名称
解决⽅案
思路:先获取某个路径下⾯的其他路径,然后循环遍历,判断这个路径到底是⽂件路径还是⽂件夹路径,如果是⽂件路径,直接添加到集合⾥⾯,如果是⽂件夹的话,就递归循环遍历;
import os
##第⼀步、加载⽂件,获取⽂件路径以及标签
train_path="./data/ddd"
allpath=[]
lllables=[]
def get_lableandwav(path,dir):
dirs = os.listdir(path)
for a in dirs:
print(a)
print(os.path.isfile(path+"/"+a))
if os.path.isfile(path+"/"+a):
allpath.append(dirs)
if dir!="":
lllables.append(dir)
else:
get_lableandwav(str(path)+"/"+str(a),a)
##循环遍历这个⽂件夹
return allpath,lllables
##第⼀步、加载⽂件,获取⽂件路径以及标签
[allpath,lllables]=get_lableandwav(train_path,"")
print(allpath)
print("----------")
print(lllables)。
Python 遍历文件夹,保留 png 图片,删 除其他文件,并生成日志

Python遍历文件夹,保留png图片,删除其他文件,并生成日志。
本module包含以下功能1.列举当前文件夹下的文件夹。
用户选择序号,选择要清理的文件夹。
2.遍历选择的文件夹,保留png图片,其他文件删除3.使用logging模块记录清理的日志。
本模块的日志功能,必须在同文件夹下创建日志配置文件(logging.conf)。
[loggers]keys=root,applog[handlers]keys=rotateFileHandler[formatters]keys=applog_format[formatter_applog_format]format=[%(asctime)s - %(name)s]%(levelname)s: %(message)s- %(filename)s:%(lineno)d[logger_root]level=NOTSEThandlers=rotateFileHandler[logger_applog]level=NOTSEThandlers=rotateFileHandlerqualname=simple_example[handler_rotateFileHandler]class=handlers.RotatingFileHandlerlevel=NOTSETformatter=applog_formatargs=('log_1.log', 'a', 10000, 9)filter_png.py#!/usr/bin/env p ython#coding=utf-‐8## * 摘 要:实现遍历文件夹,保留png图片,删除其他文件,并生成日志。
# * 主要有以下特点:# * 1. 根据日期创建日志文件目录,每天的日志分别存放在不同的日志目录中; # * 2. 遍历文件夹;# * 3. 保留png,并清除其他文件;# *# * p ython版本:2.x# * 作 者:Jeffrey M a# * 完成日期:2014年5月20日#from __future__ i mport d ivisionimport s ys, o s, s tatimport s hutilimport I mageimport l oggingimport l ogging.config#import t kFileDialogglobal t otalCount, p ngCounttotalCount = 0cleanCount = 0def w alk(path, c allback):global t otalCount, c leanCountfor i tem i n o s.listdir(path):subpath = o s.path.join(path, i tem)mode = o s.stat(subpath)[stat.ST_MODE]if s tat.S_ISDIR(mode):print("folder %s " % s ubpath)walk(subpath, c allback)elif s tat.S_ISREG(mode):totalCount += 1if n ot(subpath.endswith('png')):callback(subpath)else:print 'Skipping %s' % s ubpathdef p urgeNotPng(file):global c leanCounttry:fsize = o s.path.getsize(file)cleanCount += 1print("removed: %d b ytes : %s " % (fsize, f ile))os.chmod(file, s tat.S_IREAD|stat.S_IWRITE)os.remove(file) # 删除操作("removed: %d b ytes : %s " % (fsize, s ubpath))except I OError:passif __name__ == '__main__':#日志初始化LOG_FILENAME = 'logging.conf'logging.config.fileConfig(LOG_FILENAME)logger = l ogging.getLogger("filterpng")#测试代码# l ogger.debug("debug m essage")# l ("info m essage")# l ogger.warn("warn m essage")# l ogger.error("error m essage")# l ogger.critical("critical m essage")if l en(sys.argv) != 2:print ('Usage: p ython %s p ath' % s ys.argv[0][sys.argv[0].rfind(os.sep)+1:])for i ndex, i tem i n e numerate(os.listdir(os.getcwd())):subpath = o s.path.join(os.getcwd(), i tem)mode = o s.stat(subpath)[stat.ST_MODE]if s tat.S_ISDIR(mode):print("[%d] %s" % (index, i tem))selection = r aw_input("Select t he a bove n umber:")if s election.isdigit():try:folders = o s.listdir(os.getcwd())folder = f olders[int(selection)]walk(os.path.join(os.getcwd(), f older), p urgeNotPng)except I ndexError:passelse:print (sys.argv[1])userSelection = r aw_input("yes o r n o?:\n") if u serSelection == "yes":walk(sys.argv[1], p urgeNotPng)print 'total: %d / %d' % (cleanCount, t otalCount)。
如何在Python中进行文件和目录操作

如何在Python中进行文件和目录操作?在Python中进行文件和目录操作是非常常见的任务。
Python提供了许多内置模块和函数,使我们能够轻松地执行文件和目录相关的操作。
本文将介绍Python中文件和目录操作的常用方法,包括创建、读取、写入和删除文件,以及目录的创建、遍历和删除。
1.创建文件:-使用内置的open()函数可以创建一个新文件。
open()函数接受两个参数,第一个参数是文件路径,第二个参数是打开方式。
-例如,使用`open("file.txt", "w")`可以创建一个名为file.txt的空文件。
-第二个参数可以是以下几种模式之一:- "w":写入模式,会覆盖文件中的内容。
- "a":追加模式,将内容添加到文件的末尾。
- "r":读取模式,用于读取文件的内容。
- "x":如果文件已经存在,则会引发FileExistsError。
-使用完文件后,应使用`file.close()`将文件关闭,释放系统资源。
2.写入文件:-使用open()函数创建文件对象后,可以使用write()方法将数据写入文件。
- write()方法接受一个字符串参数,将其写入文件中。
-例如,打开一个文件对象`file`后,可以使用`file.write("Hello, world!")`将字符串写入文件中。
-写入完成后,务必使用`file.close()`关闭文件。
3.读取文件:-使用open()函数创建文件对象后,可以使用read()方法来读取文件的内容。
- read()方法有以下几种用法:- `file.read()`:读取整个文件的内容,并将其作为一个字符串返回。
- `file.read(n)`:读取文件的前n个字符或字节。
- `file.readline()`:读取文件的一行,并返回一个字符串。
python文件遍历方法

python文件遍历方法
Python文件遍历方法是在Python编程语言中用于遍历文件系统中的文件和目录的一种技术。
这种方法可以帮助程序员在处理大量文件时自动化地进行操作,例如查找特定类型的文件、复制、移动或删除文件等。
在Python中,可以使用os模块或者os.path模块来进行文件遍历操作。
其中,os.walk()是一个常用的方法,它可以递归地遍历指定目录及其子目录中的所有文件和目录。
通过使用os.walk()方法,程序员可以轻松地遍历文件系统中的所有文件,并对它们进行相应的操作。
另外,还可以使用glob模块来进行文件遍历。
glob模块提供了一个用于匹配文件路径模式的函数,可以根据指定的模式匹配文件,并返回匹配的文件列表。
除了以上提到的方法,还可以使用os.listdir()来获取指定目录中的所有文件和目录列表,然后通过循环遍历进行操作。
总之,Python文件遍历方法为程序员提供了一种便捷的方式来
处理文件系统中的文件和目录,使得文件操作变得更加灵活和高效。
通过灵活运用这些方法,程序员可以轻松地完成各种文件操作任务,提高工作效率。
使用Python实现文件递归遍历的三种方式

使⽤Python实现⽂件递归遍历的三种⽅式今天有个脚本需要遍历获取某指定⽂件夹下⾯的所有⽂件,我记得很早前也实现过⽂件遍历和⽬录遍历的功能,于是找来看⼀看,嘿,不看不知道,看了吓⼀跳,原来之前我竟然⽤了这么搓的实现。
先发出来看看:def getallfiles(dir):"""遍历获取指定⽂件夹下⾯所有⽂件"""if os.path.isdir(dir):filelist = os.listdir(dir)for ret in filelist:filename = dir + "\\" + retif os.path.isfile(filename):print filenamedef getalldirfiles(dir, basedir):"""遍历获取所有⼦⽂件夹下⾯所有⽂件"""if os.path.isdir(dir):getallfiles(dir)dirlist = os.listdir(dir)for dirret in dirlist:fullname = dir + "\\" + dirretif os.path.isdir(fullname):getalldirfiles(fullname, basedir)我是⽤了 2 个函数,并且每个函数都⽤了⼀次 listdir,只是⼀次⽤来过滤⽂件,⼀次⽤来过滤⽂件夹,如果只是从功能实现上看,⼀点问题没有,但是这…太不优雅了吧。
开始着⼿优化,⽅案⼀:def getallfiles(dir):"""使⽤listdir循环遍历"""if not os.path.isdir(dir):print dirreturndirlist = os.listdir(dir)for dirret in dirlist:fullname = dir + "\\" + dirretif os.path.isdir(fullname):getallfiles(fullname)else:print fullname从上图可以看到,我把两个函数合并成了⼀个,只调⽤了⼀次 listdir,把⽂件和⽂件夹⽤ if~else~ 进⾏了分⽀处理,当然,⾃我调⽤的循环还是存在。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由我司收集整编,推荐下载,如有疑问,请与我司联系
Python文件操作及文件夹遍历
2013/12/07 808
os.getcwd() 得到当前工作目录,即当前Python脚本工作的目录路径os.listdir() 返回指定目录下的所有文件和目录名os.remove() 函数用来删除一个文件os.removedirs(r“c:\python”)删除多个目录os.path.isfile() 检验给出的路径是否是一个文件os.path.isdir() 检验给出的路径是否是一个目录os.path.isabs() 判断是否是绝对路径os.path.exists() 检验给出的路径是否真地存os.path.split() 返回一个路径的目录名和文件名eg: os.path.split(‘/home/swaroop/byte/code/poem.txt’) 结果:(‘/home/swaroop/byte/code’, ‘poem.txt’) os.path.splitext() 分离扩展名os.path.dirname() 获取路径名os.path.basename() 获取文件名os.system() 运行shell命令os.getenv() 与os.putenv()读取和设置环境变量os.linesep Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’ 给出当前平台使用的行终止符 对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’指示你正在使用的平台os.rename(old,new)重命名os.makedirs(r“c:\python\test”)创建多级目录os.mkdir(“test”)创建单个目录os.stat(file)获取文件属性os.chmod(file)修改文件权限与时间戳os.exit()终止当前进程os.path.getsize(filename)获取文件大小
文件操作:os.mknod(“test.txt”) 创建空文件fp = open(“test.txt”,w) 直接打开一个文件,如果文件不存在则创建文件
关于open 模式:
w以写方式打开,a以追加模式打开(从EOF 开始, 必要时创建新文件)r+以读写模式打开w+以读写模式打开(参见w )a+以读写模式打开(参见 a )rb以二进制读模式打开wb以二进制写模式打开(参见w )ab以二进制追加模式打开(参见a )rb+以二进制读写模式打开(参见r+ )wb+以二进制读写模式打开(参见w+ )ab+以二进制读写模式打开(参见a+ )
fp.read([size])#size为读取的长度,以byte为单位。