python txt中的文件,逐行读取,每行赋值给变量

a.txt中有内容如下:
aaa
bbb
ccc
ddd
现m.py中的r变量,想得到a.txt每行的赋值,也就是第一次"r=aaa",第二次"r=bbb",依次类推.应该怎么写呀.求助

我的方案应该可以完美解决你的问题.首先,你得找一个.txt的文本,我是.ini,都一样,有几行字,我乱敲的,比如:

高分段11返回电视剧kf 方式
客家话 22发vfdg突然
历历可考33t jyyt
快快乐乐44 㔿
拉开55yt留言
907698076 考虑离开
就付款即可
一UR额也完全
大课间

然后上程序,你只需要改一下你文件的path就可以了

txt, i= {}, 1
path = "C:\\Users\\THINK\Desktop\\3.ini"
f = open(path,encoding='utf-8')
for line in f:
    # print(line)
    txt[i] = line
    i += 1
    txt.update(txt)
print(txt)
f.close()
# for context in txt.items():
#     print(context)

f = open(path,'w',encoding='utf-8')
for k,v in txt.items():
    f.write(str(k)+'= '+v)

f.close()

运行一次程序的结果

运行2次程序的结果

最后,这个感觉用来写配置文件(参数化)很方便,然后用Python调用.

如果是你说的,把"i += 1" 去掉就,然后把"i=1"换成"i = r"就可以了

如果有用请采纳!!!

另外,转到我新创的CSDN SPACE也有:网页链接

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-20
#!/usr/bin/env python

f = open("a.txt")

for line in f:
    r = line

追问

你好,我在其他py文件中,是直接就可以引用r了么?这种写法的话,r是按行读取么

追答

    我只是告诉按行读取的其中一种方法,你问的r能不能被别的py文件使用,我不清楚你的初始r定义在什么位置,我不好判断。

    r在这个循环内是按行读取的,如果你是想要操作每一次获得的值,那操作代码也要写在这个循环内,那么定义一个r就是多余的,除非你有循环外的操作,必须要这么做。

    虽然过了两年,我的回答已经没什么用了,不过不要在意这些细节。

提问者的r是先定义了,所以我没有在循环外定义r,

这是一个简单通用的例子,那些看我回答的人请先把提问者的问题右下角的“展开”点一下再来戳我,人家问题中的的a.txt文件的内容不是“aaabbbcccddd”,谢谢。

a.txt的内容是:

aaa

bbb

ccc

ddd

本回答被提问者采纳
第2个回答  2019-08-18
f = open("a.txt")
count = len(f.readlines())
f = open("a.txt")
a = {}
for line,i in zip(f,range(count)):
    a[i] = line
print(a)

相似回答