【问题标题】:Python text file lines keep formattingPython文本文件行保持格式化
【发布时间】:2013-08-10 17:03:49
【问题描述】:

我正在编写一个简短的脚本来从一个文本文件中读取 1000 个名称,每个名称都在自己的行中。我需要让每个名字都大写,然后在开头和结尾加上一个星号。像 * JOHN DOE *。发生的情况是,当它在行中读取时,它会保留格式,因此每次在添加最后一个星号之前都会跳转到下一行。有什么想法吗?谢谢!

def main():
    infile=open("putNamesHere.txt","r")
    outfile=open("getFromHere.txt","w")
    for line in infile:
        line=line.upper()
        mystring=('*'+line+'*')
        outfile.write(mystring)

【问题讨论】:

    标签: python string readlines


    【解决方案1】:

    从字符串中删除换行符:

    def main():
        infile=open("putNamesHere.txt","r")
        outfile=open("getFromHere.txt","w")
        for line in infile:
            line=line.upper()
            mystring=('*'+line.rstrip()+'*\n')
            outfile.write(mystring)
    

    【讨论】:

    • 使用with ... as ...或记得close文件。
    • 如果需要保留行尾空白,请考虑使用str.rstrip() 的参数:mystring='*'+line.rstrip('\n')+'*\n'
    • 关于with ... as ...的建议应该交给提问者。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-28
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    相关资源
    最近更新 更多