为什么我的代码会产生多个字符?

时间:2017-04-25 02:21:36

标签: python file string-concatenation

打开文件并连接每个字符串中的第5个字符时,我得到新字符串中每个字符的重复项。我该如何解决这个问题?

def fifthchar(filename):
        l=""
        fin=open(filename, "r")
        for line in fin:
            line=line.strip()
            line=str(line)
            for i in line:
                if len(line)>=5:
                    a=line[4]
                    l+=a
        fin.close()
        return l

2 个答案:

答案 0 :(得分:0)

def fifthchar(filename):
    l=''
    lines = []
    fin=open(filename, 'r')
    all_lines = fin.read().decode("utf-8-sig").encode("utf-8")
    lines = all_lines.splitlines()
    line =''
    for line in lines:
        line=str(line)
        line=line.strip()
        print line
        if len(line)>=5:
            a=line[4]
            l+=a
    fin.close()
    return l
if __name__ == '__main__':
    print fifthchar("read_lines.txt")

如果你想从开始和结束使用空间

line = line.strip()

如果要从字符串中删除所有空格,请使用

line = line.replace(" ","")

此行自动删除预期的BOM。

all_lines = fin.read().decode("utf-8-sig").encode("utf-8")

for details

希望这会有所帮助。

答案 1 :(得分:0)

只需删除此不必要的行并相应缩进:

for i in line:

由于这个原因,你正在对每个字符进行连接。