Python在变量后面同时插入回车和换行符,而不仅仅是换行符

2024-06-28 20:22:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个python脚本来输出AAAA-ZZZZ等中每1-4个字符的字母组合

它工作得很好,但是我只需要在打印变量的末尾插入一个换行符,因为我将它用作另一个脚本中使用的单词列表。

我试图同时使用和,但是使用在结尾插入回车和换行(例如AAAA-CR-LF),使用只插入回车(例如AAAA-CR-LF)。

我的问题是,可能在末尾插入一个换行符,还是由于python的限制而无法插入换行符?我试过用记事本来手动替换每个字符,这是可行的,但这只是修补了问题,不实用。

非常感谢您的帮助!

import string
alpha = string.ascii_uppercase
w=(a+b+c+d for a in alpha for b in alpha for c in alpha for d in alpha) 
x=(a+b+c for a in alpha for b in alpha for c in alpha) 
y=(a+b for a in alpha for b in alpha) 
z=(a for a in alpha ) 
with open("Output.txt", "w") as text_file: 
for i in [w, x, y, z]:
    for k in i:
        print("{}\r".format(k), file=text_file, end='')

这里的问题是

print("{}\r".format(k), file=text_file, end='')

Tags: textinalpha脚本formatforstringfile
3条回答

尝试:

with open("Output.txt", "bw") as text_file: 

在Python3中print()基本上在每次执行时都添加新行。为此,我建议您使用sys模块的write函数。我也有同样的问题,当我做一个下载栏。

代码-

import sys
sys.stdout.write('\r')
sys.stdout.flush()

这应该能解决你的问题。

对于以文本模式(默认)打开的文件,python将/n解释为等同于os.linesep,在Windows上是[CR][LF],反之亦然。

import os
print(os.linesep)

签出http://docs.python.org/library/os.html

要防止这种情况,请以二进制模式打开文件。

with open("Output.txt", "wb") as my_file: 

这告诉Python将文件视为一个纯字节序列,您将发现\n被视为一个换行符。

相关问题 更多 >