标题:[求助]这段代码该怎么改?
只看楼主
阿智兄
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2021-3-8
结帖率:87.5%
已结贴  问题点数:10 回复次数:4 
[求助]这段代码该怎么改?
非常感谢你在百忙之中为我解答。问题如下:
打开文件时只对冒号后部分进行了读取,写入文件时如何将冒号前面部分也一起写进去?
f=open('data.txt','r+')
data=[i.strip().split(":")[1].split(',') for i in f]
f.close()

def output(filename,content):
    f=open(filename,'w+')
    for i in content:
        f.write(i.split(":")[0]+','.join(i)+'\n') #这句代码错了,不知道怎么改。
    f.close()
搜索更多相关主题的帖子: split 代码 for data close 
2021-03-26 00:46
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:240
专家分:2086
注 册:2019-8-16
得分:7 
以下是引用阿智兄在2021-3-26 00:46:13的发言:

非常感谢你在百忙之中为我解答。问题如下:
打开文件时只对冒号后部分进行了读取,写入文件时如何将冒号前面部分也一起写进去?
f=open('data.txt','r+')
data=.split(',') for i in f]
f.close()

def output(filename,content):
    f=open(filename,'w+')
    for i in content:
        f.write(i.split(":")[0]+','.join(i)+'\n') #这句代码错了,不知道怎么改。
    f.close()

程序代码:
def output(filename,content):
    f=open(filename,'w+')
    for i in content:
        f.write(i.split(":")[0]+','.join(i)+'\n') #这里对于split来说i是个字符串,对于join来说i 是个数组。你想让他是个啥东西
    f.close(
2021-03-26 08:36
阿智兄
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2021-3-8
得分:0 
谢谢回复。
      
f=open('data.txt','r+')
data=[i.strip().split(":")[1].split(',') for i in f]   这在读取文件时只读取了冒号后面部分的数据,我想在写入文件时把冒号的前部分也一起输出。
f.close()

def output(filename,content):
    f=open(filename,'w+')
    for i in content:
        f.write(i.split(":")[0].join(i)+'\n')  也就是这句代码,要改为将冒号前后两部分的数据都一起输出来。
    f.close()
2021-03-26 08:46
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:240
专家分:2086
注 册:2019-8-16
得分:0 
回复 3楼 阿智兄


f=open('data.txt','r+')
data=[i.strip().split(":")[1].split(',') for i in f]   这里你的冒号前的数据已经丢了,你可以把操作写在这里
output(filename,data)
f.close()

def output(filename,content):
    f=open(filename,'w+')
    for i in content:
        f.write(i+'\n')  也就是这句代码,要改为将冒号前后两部分的数据都一起输出来。
    f.close()

程序代码:
f=['1:2,3']
data=[i.strip().split(":")[0]+':'+'#'.join(i.strip().split(":")[1].split(',')) for i in f]
print(data)

['1:2#3']
2021-03-26 09:45
阿智兄
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2021-3-8
得分:0 
谢谢你的再次回复。测试了,没有达到预定的效果,不知是哪里的问题?
下面是代码处理的全过程:
程序代码:
def check(n):
    temp = int(n)//10+int(n)%10
    if temp %2:
        return '1'
    else:
        return '0'

def output(filename,content):
    print(filename,content,'\n')

def output(filename,content):
    f=open(filename,'w+')
    for i in content:
        f.write(','.join(i)+'\n')
        f.write(data)
    f.close()
        
f=open('data.txt','r+')
data=[i.strip().split(',') for i in f]
f.close()

index1=[tuple(map(lambda x:check1(x),i)) for i in data]
indexdict1=dict([[i,[]] for i in set(index1)])
for i,j in zip(data,index1):
    indexdict1[j].append(i)
for i in indexdict1:
    output(''.join(i)+'.txt',indexdict1[i])


[此贴子已经被作者于2021-3-26 22:30编辑过]

2021-03-26 10:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-505247-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.080365 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved