оберните все строки длиннее длины строки

Я пишу программу, которая ограничивает каждую строку до определенной длины.

это то, что я получил до сих пор, я почти закончен, но мне все равно нужно вырезать каждую линию, но я не могу это понять.

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() wraped = wr.wrap(file) print("Here is your output formated to a max of", lLength, "characters per line: ") wr.width = lLength wr.expand_tabs = True for lines in wraped: print(lines) 

Редактировать:

 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: ")) if (lLength > 10) or (lLength < 20): print("\nYour file contains the following text: \n" + file) #========================================================================= wr = textwrap.TextWrapper(width=lLength) wraped = wr.wrap(file) print("\n\nHere is your output formated to a max of", lLength, "characters per line: ") for lines in wraped: print(lines) main() 

примером того, что должно быть ДОЛЖНО, является это. Если указанный файл содержит этот текст:

 hgytuinghdt #here the length is 11 ughtnjuiknshfyth #here the length is 16 nmjhkaiolgytuhngjuin #here the length is 20 

и lLength указывается до 15, тогда это должно распечатываться:

 hgytuinghdt ughtnjuiknshfyt h nmjhkaiolgytuhng juin 

3 Solutions collect form web for “оберните все строки длиннее длины строки”

wr = textwrap.TextWrapper() должен быть wr = textwrap.TextWrapper(width=length, expand_tabs=True) Затем вы должны удалить wr.width = lLength и wr.expand_tabs = True . Они должны были быть запущены до wr.wrap() , но поскольку его можно установить с помощью аргументов ключевого слова в конструкторе TextWrapper как показано на самом верху, их можно удалить.

PS : for lines in wraped: print(lines) можно заменить на print(wraped) если вы используете TextWrapper.fill .

Попробуй это:

 line = 'nmjhkaiolgytuhngjuin' n = 5 # set the width here a = [line[i:i+n] for i in range(0, len(line), n)] print ("\n".join(a)) 

Это может помочь вам:

 def wrap(f,n): fi=open(f,"w+") rl=fi.readlines() for i in range(0,len(rl)): if len(rl[i]) > n: fi.write(rl[i][:n] +"\n" + rl[i][n:]) fi.Close() else: fi.write(rl[i]) fi.close() 
  • Как использовать pip с python 3.4 на окнах?
  • Автоматическое оформление каждого метода экземпляра в классе
  • Изменение декоратора кулдауна для работы вместо методов вместо
  • Не удается определить, как работает String Substitution в Python 3.x
  • Установка scipy в Python 3.5 на 32-разрядной машине Windows 7
  • выяснить, работает ли скрипт python в режиме ожидания или командной строки терминала / командной строки
  • Аккуратный способ выскакивания ключа, значение PAIR из словаря?
  • Почему пакет компилятора прекращен в Python 3?
  • Python - лучший язык программирования в мире.