当前位置:首页 » 编程语言 » python图遍历

python图遍历

发布时间: 2023-09-15 22:24:51

A. 如何使用python flask遍历一个路径中的所有文件

这个是ftp模块的
#fullname=ftp.dir() #显示目录下文件信息
#print fullname
ftp.cwd('/temp/data/') # 设置FTP路径
list = ftp.nlst() # 获得目录列表
for listtile in list
print listtile #遍历打印

这是本地的
import os
import os.path
rootdir = “d:\data” # 指明被遍历的文件夹
for parent,dirnames,filenames in os.walk(rootdir):
#三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径)
3.所有文件名字
for dirname in dirnames:
#输出文件夹信息
print "parent is:" + parent
print "dirname is" + dirname

for filename in filenames:
#输出文件信息
print "parent is": + parent
print "filename is:" + filename
print "the full name of the file is:" + os.path.join(parent,filename)
#输出文件路径信息
#windows下为:d:\data\query_text\EL_00154

B. 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
>>>

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

C. python怎样遍历.py的内容

列表的遍历
方法一:通过for循环
li = [i for i in range(10)]
for i in li:
print(i)
方法二:通过while循环
# 虽然for循环已经很好用了,但是在有些情况下,使用while循环可以更灵活
# 只需要将判断条件设置为小于列表长度,即可完成列表通过while循环的遍历
li = [i for i in range(10)]
i = 0
while i < len(li):
print(li[i])
i += 1
方法三:配合enumerate使用,同时获取列表的索引
li = [i + 1 for i in range(10)]

# 此时,i为一个元组,元组的第一个元素为索引,第二个元素为原列表的元素
# 因此,在遍历列表的同时,需要同时获取坐标的情况下,可以配合enumerate()一起使用
for i in enumerate(li):
print(i)
字典的遍历
字典的遍历和列表有一些不同,因为字典有键和值两个关键部分。默认的遍历情况,是遍历字典的键,当然,可以通过字典的键取得值,也可以直接遍历值,或者直接遍历键和值。

方法一:直接使用for循环
直接使用for循环对一个字典进行遍历,默认取得的是字典的键

dt = {i: i + 1 for i in range(10)}

for i in dt:
print("字典的键:", i) # 字典的键
print("字典的值:", dt[i]) # 字典的值
方法二:遍历dict.keys()
这种方法与方法一的效果其实是一样的,同样是获取字典的键

dt = {i: i + 1 for i in range(10)}

for i in dt.keys():
print("字典的键:", i) # 字典的键
print("字典的值:", dt[i]) # 字典的值
方法三:遍历dict.values()
这种方法与方法一和二很不相同,因为它只获取了字典的值

dt = {i: i + 1 for i in range(10)}

# 这是很特殊的方法,因为它没有获取字典的键
for i in dt.values():
print("字典的值:", i) # 此时i不再是字典的键,而是值
方法四:遍历dict.items()
这种方法一般来说要更好,因为它同时获取到了字典的键和值,而且性能上要高于先获取键,再通过键获取对应的值

dt = {i: i + 1 for i in range(10)}

for i in dt.items():
print("字典的键值对:", i)
print("字典的键:", i[0])
print("字典的值:", i[1])
总结
1,列表的遍历比较简单,除了配合enumerate()使用,可以同步获取索引以外,并没有特别值得纠结的。

2,字典的遍历方法比较多,其中第四种是能适用于一切情况的,前两种也可以适用于一切情况,但是如果你同时需要获取键和值,性能不如第四种要好。第三种比较特别,除非你真的只需要字典的值,否则它在多数情况下是不能够满足需求的。

热点内容
滑板鞋脚本视频 发布:2025-02-02 09:48:54 浏览:432
群晖怎么玩安卓模拟器 发布:2025-02-02 09:45:23 浏览:557
三星安卓12彩蛋怎么玩 发布:2025-02-02 09:44:39 浏览:743
电脑显示连接服务器错误 发布:2025-02-02 09:24:10 浏览:536
瑞芯微开发板编译 发布:2025-02-02 09:22:54 浏览:146
linux虚拟机用gcc编译时显示错误 发布:2025-02-02 09:14:01 浏览:232
java驼峰 发布:2025-02-02 09:13:26 浏览:651
魔兽脚本怎么用 发布:2025-02-02 09:10:28 浏览:532
linuxadobe 发布:2025-02-02 09:09:43 浏览:212
sql2000数据库连接 发布:2025-02-02 09:09:43 浏览:726