0

我正在编写一个程序,它将打开一个指定的文件,然后“换行”所有比给定行长更长的行并在屏幕上打印结果。

def main():
    filename = input("Please enter the name of the file to be used: ")
    openFile = open(filename, 'r+')
    file = openFile.read()
    lLength = int(input("enter a number between 10 & 20: "))

    while (lLength < 10) or (lLength > 20) :
        print("Invalid input, please try again...")
        lLength = int(input("enter a number between 10 & 20: "))

    wr = textwrap.TextWrapper()
    wr.width = lLength
    wr.expand_tabs = True

    wraped = wr.wrap(file)

    print("Here is your output formated to a max of", lLength, "characters per line: ")
    print(wraped)
main()

当我这样做而不是包装时,它将文件中的所有内容打印为带有逗号和括号的列表,而不是包装它们。

4

1 回答 1

2

textwrap.TextWrapper.wrap“返回输出行列表,没有最后的换行符。”

您可以通过换行符将它们连接在一起

print('\n'.join(wrapped))

或遍历并一次打印一个

for line in wrapped:
    print(line)
于 2013-11-12T03:05:51.527 回答