导航:首页 > 编程语言 > python遍历文件

python遍历文件

发布时间:2022-02-09 00:48:27

1. 如何用python实现目录遍历

1. 基本实现

[root@localhost ~]# cat dirfile.py

import os
path='/tmp'
for dirpath,dirnames,filenames in os.walk(path):
for file in filenames:
fullpath=os.path.join(dirpath,file)
print fullpath
执行结果如下:

[root@localhost ~]# python dirfile.py
/tmp/yum.log
/tmp/pulse-3QSA3BbwpQ49/pid
/tmp/pulse-3QSA3BbwpQ49/native
/tmp/.esd-0/socket

2. python:遍历文件并搜索/读取

os.walk()

3. 如何用python遍历文件夹下的所有excel文件

import os
for i in os.listdir("."):
if os.path.splitext(i)[1] == ".xlsx":
print i

4. 求通过python实现,在指定目录下遍历所有文件,将以.txt为后缀的文件移动到另一指定目录中

target_dir = 'home/' #假定要拷贝到home目录
x = [ item for item in os.walk('.') ] #os.walk递归地遍历所有子文件夹
#返回的是一个list,list中每一个元素由3个部分:(path, dirs, files)
for path, dirs, files in x:
for file in files:
if file.endswith('.txt'): #找到以txt结尾的,之
shutil.( path+os.sep+file , target_dir )

5. python 如何遍历文件夹里所有的txt文件

PY不会,其它语言我会

6. 请教大神,python遍历目录,根据目录下获取的文件信息,到其他目录查找,并记录到列表

os包的listdir函数可以列出一个文件夹下的所有文件名,返回的是一个列表

importos
filenames=os.listdir('g:\')

可以通过os.path.isfile()函数判断一个文件是否存在

os.path.isfile('g:meelo.txt')

7. python一般遍历所有文件需要多久

在互联网管理、金融、物流等领域,往往离不开数据处理、统计分析等辅助决策的操作。

传统的商业分析(Business Analysis),定性占比很大,以相对简单的数据处理为辅助,人们使用的分析工具主要是Excel;然而,自Excel2007版起,最大支持的工作表大小为16,384 列 × 1,048,576 行,超出最大行列数单元格中的数据将会丢失。

在大数据背景的今天,面对千万条以上动辄成百上千G的数据,单用excel难免显得力不从心,越来越多的人将关注点转向python。

易踩坑!Excel输给Python

(1)数据量级太大,报表来不及保存,Excel崩溃无响应

比如,工作中经常需要对一个表进行删除重复值处理,当工作表中格式过于复杂、数据量过于庞大时,Excel在计算时容易报错崩溃。

而python在数据处理的量级和性能上明显高于excel,对python来说,只需调用drop_plicates方法就可以轻松处理大批量数据,无需担心软件崩溃异常退出。

Python的处理方法如下:

调用方法:

DataFrame.drop_plicates(subset=None,keep='first', inplace=False)

————————————————

参数说明:

subset: column label or sequence of labels, optional

用来指定特定的列,默认所有列

keep :{‘first’, ‘last’, False}, default ‘first’

删除重复项并保留第一次出现的项

inplace: boolean, default False

选择直接在原来数据上修改或是保留一个副本

—————————————————删除重复行

(2)操作繁琐,人工处理容易粗心犯错

我们经常会遇到从一个Excel表格拷贝一些数据,粘贴到另一个Excel表格中去的情况;或者从多个表格中,合并含有重复列的旧表格为新表。

这些工作并不困难,却需要耗费大量人工审核的时间,且容易出错。

利用python,可以放心交给机器做运算,一行命令解决人工需点击上百次的工作。

Python处理方法如下:

设置循环遍历,匹配关键字,按照列名自动分割数据存储至本地

pandas自动分列操作

(3)重复性工作,效率低下

在做图表时,由于每个报表都需要做对应的图表,人工重复性操作N个报表,效率低下。

但是运用Python,可以调用已经集成好的工具包,自动化收集和清理数据,保存和刷新报表,对数据进行可视化展示。

Python处理方法如下:

对多个图表进行批量处理,并且轻松输出可视化内容,相比excel要高效得多。

小白学Python,压力大吗?

听起来Python是不是很高大上的样子?但事实上,即便是小白也能驾驭这样的“高大上”技能!

简单易学,速度快,正是学习Python的优点之一。Python说明文档极其简单,它更专注于解决问题而不是研究计算机语言本身,所以小白也能轻松上手!

以Python使用openpyxl读写excel文件为例

8. 求教python怎么遍历指定文件

监控目录 -- 分两个部分: 1. 扫描目录文件, 保持当前状态数据; 2. 状态数据的比较



importos
importfnmatch


defgetfileinfo(filename):
(mode,ino,dev,nlink,
uid,gid,size,atime,mtime,ctime)=os.stat(filename)
returndict(
modifytime=mtime,
createtime=ctime,
size=size,
)


classDirectoryMonitor(object):

def__init__(self,path,fnexp="*.*"):
self.path=path
self.fnexp=fnexp
self.files={}
self.scan()

defscan(self):
currentfiles={}
forpath,dirs,filesinos.walk(self.path):
forfinfnmatch.filter(files,self.fnexp):
fullname=os.path.join(path,f)
currentfiles[fullname]=getfileinfo(fullname)
lastfiles=self.files
self.files=currentfiles
returnself.check(lastfiles,currentfiles)

@staticmethod
defcheck(lastfiles,currfiles):
monitor={}
newer={}
forfinset(currfiles)-set(lastfiles):
newer[f]=currfiles[f]
ifnewer:
monitor["newer"]=newer
deleted={}
forfinset(lastfiles)-set(currfiles):
deleted[f]=lastfiles[f]
ifdeleted:
monitor["deleted"]=deleted
changed={}
forfinset(lastfiles)&set(currfiles):
iflastfiles[f]!=currfiles[f]:
changed[f]=currfiles[f]
ifchanged:
monitor["changed"]=changed
returnmonitor


deftester():
importtime
dm=DirectoryMonitor(r"/home/tim/data","*.txt")
time.sleep(20)
m=dm.scan()
ifm:
printm


if__name__=="__main__":
tester()

9. 如何利用Python遍历文件夹

1. 基本实现

[root@localhost ~]# cat dirfile.py

import os
path='/tmp'for dirpath,dirnames,filenames in os.walk(path): for file in filenames:
fullpath=os.path.join(dirpath,file) print fullpath

执行结果如下:

[root@localhost ~]# python dirfile.py
/tmp/yum.log/tmp/pulse-3QSA3BbwpQ49/pid/tmp/pulse-3QSA3BbwpQ49/native/tmp/.esd-0/socket

2. 在上例的基础上传递参数

import os,sys
path=sys.argv[1]for dirpath,dirnames,filenames in os.walk(path): for file in filenames:
fullpath=os.path.join(dirpath,file) print fullpath

执行方式为:[root@localhost ~]# python dirfile.py /tmp

在这里,sys.argv[1]是接受参数,也可以定义sys.argv[2]接受第二个参数

3. 如何用函数实现

PS:

1> def __init__():函数,也叫初始化函数。

self.path = path可以理解为初始化定义了1个变量。 在后面的def里面调用的时候必须要使用self.path而不能使用path

2>__name__ == '__main__'

模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__name__ 的值通常为模块文件名,不带路径或者文件扩展名。但是您也可以像一个标准的程序样直接运行模块,在这种情况下, __name__ 的值将是一个特别缺省"__main__"。上述类中加上__name__ == '__main__'的判断语句,可以直接在终端环境下执行python dirfile.py /tmp进行测试,不必非得在交互式环境下导入模块进行测试。

10. Python中如何遍历指定目录下的所有文件

例如:在C:\TDDOWNLOAD目录下有a.txt、b.txt两个文件,另有\sub1子文件夹,C:\TDDOWNLOAD\sub1下又有c.txt、d.txt两个文件。

1. os.walk
os.walk()返回一个三元素的tuple:当前路径、子文件夹名称、文件列表。
>>> import os
>>> def fun( path ):
... for root, dirs, files in os.walk( path ):
... for fn in files:
... print root, fn
...
>>> fun( r'C:\TDDOWNLOAD' )
C:\TDDOWNLOAD a.txt
C:\TDDOWNLOAD b.txt
C:\TDDOWNLOAD\sub1 c.txt
C:\TDDOWNLOAD\sub1 d.txt
>>>

2. glob.glob
glob.glob()只接受一个参数,这个参数既代有路径,又代有匹配模式,返回值为一个列表。注意,glob.glob()无法直接穿透子文件夹,需要自己处理:
>>> def fun( path ):
... for fn in glob.glob( path + os.sep + '*' ): # '*'代表匹配所有文件
... if os.path.isdir( fn ): # 如果结果为文件夹
... fun( fn ) # 递归
... else:
... print fn
...
>>> fun( r'C:\TDDOWNLOAD' )
C:\TDDOWNLOAD\a.txt
C:\TDDOWNLOAD\b.txt
C:\TDDOWNLOAD\sub1\c.txt
C:\TDDOWNLOAD\sub1\d.txt
>>>

'*'为匹配模式,代表匹配所有文件,只有这样才能将子文件夹查出来,以便递归深入,探查下一层的文件。

阅读全文

与python遍历文件相关的资料

热点内容
服务器异常520什么意思 浏览:390
花园最解压的摇椅 浏览:337
手机屏幕旁边变色了怎么办安卓的怎么修 浏览:218
word怎么变成pdf格式 浏览:505
vc60一编译就错误 浏览:458
觉得撒娇很解压 浏览:934
苹果控制点安卓怎么设置 浏览:67
顺丰app里面哪里缴费 浏览:894
鱼池活水能增加密度吗 浏览:245
如何将安卓导入已激活苹果 浏览:501
电脑写程序编译不了 浏览:540
linux限制用户命令 浏览:742
8p咋设置应用加密 浏览:286
我说你这个我听是什么安卓 浏览:23
云计算算程序员吗 浏览:786
vim编译php 浏览:527
如何正确使用国家反诈中心app 浏览:181
编译执行方式的过程 浏览:489
当量计算法的适用条件 浏览:445
arm单片机开发环境 浏览:401