返回信息流我有个文件一部分内容如下:
天下师兄一般黑,0
礼物:遇见于朦胧,0
重生之锦绣嫡女,1
先婚厚爱,0
先婚厚爱,1
先婚厚爱,0
————————————
其中0表示不付费,1表示付费,但是像先婚后爱这本书,刚开始是免费的,后来就开始付费了,所以我只想保留付费的信息,也就是删除“先婚厚爱,0”这行,求问大牛如何实现?最好有源代码,小白刚学Python,啥都不太会。。。在线等,急
这是一条镜像帖。来源:北邮人论坛 / python / #5715同步于 2015/3/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖
【问题】文件处理的一点问题
Magic618
2015/3/24镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
fin = open("file.txt")
fout = open("output.txt", 'w')
lines = fin.readlines()
for line in lines:
line = line.strip()
if line.split(',')[1] == '0':
continue
fout.write(line + '\n')
fin.close()
fout.close()
【 在 Magic618 的大作中提到: 】
: 我有个文件一部分内容如下:
: 天下师兄一般黑,0
: 礼物:遇见于朦胧,0
: ...................
明天试一下![ema11]
【 在 moonfighting 的大作中提到: 】
: [code=py]
: fin = open("file.txt")
: fout = open("output.txt", 'w')
: ...................
这段代码是把免费的都删了啊。。。
【 在 moonfighting 的大作中提到: 】
: [code=py]
: fin = open("file.txt")
: fout = open("output.txt", 'w')
: ...................
哦,理解错了, 那你就用一个字典保存书名,如果遇到相同书名变成收费了就修改,否则就不变,最后再把字典写到文件里
【 在 Magic618 的大作中提到: 】
: 这段代码是把免费的都删了啊。。。
#!/usr/bin/eny python
import os
import re
fin = open("e:/Amazon/Result00/chongfu.txt")
fout = open("e:/Amazon/Result00/output.txt", 'w')
lines = fin.readlines()
f_ini = {}
for line in lines:
line = re.split(',',line.strip())
if len(line) == 2:
f_ini[line[0]] = line[1]
for row in lines:
row = re.split(',',row.strip())
if row[0] in f_ini:
if row[1] == 1:
f_ini[row[1]] = 1
else:
f_ini[row[1]] = 1
fin.close()
for key in f_ini:
print key + ':' , f_ini[key]
fout.close()
我写了这个,但是输出的是乱码,而且我不会把字典保存到txt里。。。
麻烦帮看下~~[ema11]
【 在 moonfighting 的大作中提到: 】
: 哦,理解错了, 那你就用一个字典保存书名,如果遇到相同书名变成收费了就修改,否则就不变,最后再把字典写到文件里
乱码是因为中文编码的问题,这方面我不是太了解,我平时用python都是全英文环境下的没遇到过,你自己查一下。
保存字典你就取出key 和 value 然后把它们合成一个字符串 key + value 再write到目标文件中就行了
【 在 Magic618 的大作中提到: 】
: #!/usr/bin/eny python
: import os
: import re
: ...................