python怎样遍历.py的内容?

作者&投稿:钞胀 (若有异议请与网页底部的电邮联系)
Python如何遍历另一个py文件中的字典?~

from a import dict 最好把a.py放b.py旁边
for k in dict:
print(k)
print(dict[k])

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)

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

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

举例讲解如何在Python编程中进行迭代和遍历
答:就会返回空字符串.>>> f=open('hello.py')>>> f.readline()'#!/usr/bin/python2.5'>>> f.readline()'print "hello.word!"'>>> f.readline()''>>> f.readline()'' >>> for i in open('hello.py'):... print(i)... #!/usr/bin/python2.5print "...

python怎么让程序重复运行
答:1、for循环 for循环是Python中最常用的循环语句之一。它可以让程序根据一定条件重复执行指定的代码块,直到满足退出循环的条件为止。for循环通常用于遍历序列类型的数据,如列表、元组、字符串等。下面是一个简单的for循环示例:'''numbers=[1,2,3,4,5]for number in numbers:print(number)'''这段代...

Python遍历文件夹并 改所有文件的后缀名
答:import osimport shutilroot = 'F:\\python2'for rt, dirs, files in os.walk(root): for f in files: fn = os.path.join(rt, f) nfn = fn.replace('.txt', '.py'). if src in fn and fn != nfn: shutil.move(fn, nfn)

python如何引用不同目录下的py文件?帮忙看下哪里写错了
答:在file2.py中引用file1.py,可以使用相对路径:使用绝对路径引用:使用绝对路径引用其他文件。这需要你提供完整的文件路径。例如:确保将/path/to/folder1替换为实际文件夹的路径。将目录添加到PYTHONPATH环境变量:将包含要引用的文件的目录添加到PYTHONPATH环境变量中。这样,Python解释器将在搜索模块时查找...

python,如何遍历一个目录,输出所有文件名
答:import osdef iterbrowse(path): for home, dirs, files in os.walk(path): for filename in files: yield os.path.join(home, filename)for fullname in iterbrowse("/home/bruce"): print fullname

python怎么运行py文件
答:1、首先在资源管理器里复制一下py文件存放的路径,按下windows键+r,在运行里输入cmd,回车打开命令行:2、在命令行里,先切换到py文件的路径下面,接着输入“python 文件名.py ”运行python文件:3、按下回车键,可以看到窗口中py文件开始运行了,注意在命令行运行py文件,要将python安装路径添加到...

求助一下,python如何调用另一个py文件
答:1 先配置环境变量,比如你的内置函数放在c盘下x.py,那么 import syssys.path.append('c:\\')2 到你要引用的地方 import x就可以了,注意如果有冲突最好用包(Package)每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不...

python中如何遍历json数组
答:1、创建python文件,testjson.py;2、编写python代码,解析json数组,json_str = {"name":"lisi","age":27} for key, value in json_str.items():print(str(key) + '=' + str(value))3、右击,选择‘在终端中运行Python文件’;4、查看运行结果,即可发现解析完成;...

python怎么用递归遍历多层目录树
答:Python实现递归遍历指定文件目录(startdir),从而找到所有与指定的文件或目录(target)名相同的文件或目录的绝对路径。scandir.py :! /usr/bin/python filename : scandir.py author : Jesse update : 2011/08/15 10:16 import os def scandir(startdir, target) :os.chdir(startdir)for obj in ...