Python 如何将文件中的换行符转换为延伸到行尾的行?

Python 如何将文件中的换行符转换为延伸到行尾的行?,python,Python,我是这样复印的 for line in fileinput.input(['my_file'], inplace=True): sys.stdout.write('_____ {l}'.format(l=line)) abc def ghi 在行首添加四个下划线。这将my_文件变成一个检查表。但是上面的代码也在空白行上打印下划线。我想把空白行改成全长行。我该怎么做?如果原始的线条是这样的 for line in fileinput.input(['my_file'], inpla

我是这样复印的

for line in fileinput.input(['my_file'], inplace=True):
    sys.stdout.write('_____ {l}'.format(l=line))
abc

def

ghi
在行首添加四个下划线。这将
my_文件
变成一个检查表。但是上面的代码也在空白行上打印下划线。我想把空白行改成全长行。我该怎么做?如果原始的线条是这样的

for line in fileinput.input(['my_file'], inplace=True):
    sys.stdout.write('_____ {l}'.format(l=line))
abc

def

ghi
清单看起来像

___ abc

_________________________________________________

___ def

_________________________________________________

___ ghi

_________________________________________________


谢谢

去掉行上的空白,看看它是否为非空(因此,truthy)。如果它不是空的,请执行以前的操作。否则,它是空的;打印水平线。(尽管我必须说49个字符有点奇怪)


什么决定了一行的长度?@kojiro:最好是边距,但固定的行长度也可以。但是你似乎没有指定边距。@kojiro,好的,我以为打印机设置了边距。我可以在代码中设置它们吗?您可以在代码中设置行长度。我只是想指出,除非你知道一行有多长,否则你不能把字符打印到它的末尾。谢谢你的回答。我得到
运行时错误:input()已处于活动状态
。根据这个页面的意思是“你以前调用过fileinput.input(),但是你没有使用所有可用的行。”我怎么能解决这个问题?@Zeynel:我不知道这个错误,但我猜你在程序的其他地方有
fileinput.input
没有完成。是的,我重新启动IDLE,它工作了,但第二次尝试时,我得到了相同的错误。每次之后如何完成fileinput.input?现在我得到windows错误:文件“C:\Python26\lib\fileinput.py”,第322行,在readline os中。重命名(self.\u filename,self.\u backupfilename)WindowsError:[错误2]系统找不到该文件specified@Zeynel:当您收到该错误时,您确定该文件存在吗?