2013-02-18 3 views
-1

Создайте тестовый файл с одним предложением из 20 слов. Прочитайте файл, затем вставьте символы возврата каретки (\ n) и напишите тест в новый текстовый файл, который будет состоять из четырех строк из пяти слов.Как разбить одну строку на несколько строк

Это то, что я до сих пор

my_file = open("twentywords.txt", "r") 
temp_file = open("newfile.text", "w") 

i = 1 
for words in my_file: 
    if i%5 == 0: 
     print(words, file = temp_file) 
    i = i + 1 

Мы не научились сложные инструменты еще так держать это простой рагу

ответ

0

Используйте .split(), чтобы составить список слов:

>>> 'This is a test'.split() 
['This', 'is', 'a', 'test'] 

Вызов .split() без аргумента заставляет его разделять строку на все пробельные символы.

Оттуда вы можете использовать ломтики и .join():

>>> '-'.join(['This', 'is', 'a', 'test']) 
'This-is-a-test' 
>>> ['This', 'is', 'a', 'test'][1:3] 
['is', 'a'] 
+0

, но мне нужно использовать \ п приспособление – user2016535

0
with open('infile.txt') as f_in, open('outfile.txt', 'w') as f_out: 
    f_out.write('\n'.join(f_in.read().split())) 
0

Читать весь файл в виде строки. Разделите строку, используя пробел в качестве разделителя. Напишите элементы массива в выходной файл. На каждом пятом элементе вставьте a \ n.

+0

my_file = открыт ("twentywords.txt", "г") temp_file = открыт ("NewFile. txt "," w ") listme = my_file.readline() Я не понимаю, как u означает вставить a \ n listme = listme.split (" ") print (listme, file = temp_file) – user2016535

0

очень нечитаемым, но Oneliner:

mystring = my_file.read() 
print "\n".join(([" ".join(line) for line in zip(*(iter(mystring.split()),) * 5)])) 
Смежные вопросы