Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 4, 2011 11:03:15

Win95
От:
Зарегистрирован: 2011-11-04
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Не слишком корректное посимвольное реверсирование файла

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
out = open('C:\Python27\lab3.txt', ‘w’)
#Реверсирование строк относительно файла
out.writelines(reversed(open('C:\Python27\lab21.txt', ‘r’).readlines()))
out.close()
print “Stage 1 is complete”
def reverse():
#Реверсирование букв относительно строки
sev = open('C:\Python27\lab3.txt', ‘r’)
f = open('C:\Python27\lab4.txt', ‘w’)
res= sev.read()
f.write(res)
f.close()
sev.close()
print “Stage 2 is complete”
print “Process Completed”
reverse()



В общем эта прога для реверсирования файла но есть проблема… Когда мы открываем файл (уже реверсированный по строкам) и реверсируем строки по буквам возникает баг вместо первой строки появляется пробел, а первая строка смещается на место второй строки и соединяется со 2ой строкой Кто знает как этого избежать напишите пожалуйста… буду Вам признателен.



Офлайн

#2 Ноя. 4, 2011 11:35:24

s0rg
От:
Зарегистрирован: 2011-06-05
Сообщения: 777
Репутация: +  25  -
Профиль   Отправить e-mail  

Не слишком корректное посимвольное реверсирование файла

это происходит скорее всего потому, что вы переварачиваете вообще всю строку, а ведь у нее в конче - перевод строки )

Офлайн

#3 Ноя. 4, 2011 11:51:08

Win95
От:
Зарегистрирован: 2011-11-04
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Не слишком корректное посимвольное реверсирование файла

Да кстать так происходит лишь с маленькими строками, длинные строки реверсирует корректно)



Отредактировано (Ноя. 4, 2011 11:51:35)

Офлайн

#4 Ноя. 5, 2011 01:07:07

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10010
Репутация: +  857  -
Профиль   Отправить e-mail  

Не слишком корректное посимвольное реверсирование файла

Win95
В общем эта прога для реверсирования файла но есть проблема… Когда мы открываем файл (уже реверсированный по строкам) и реверсируем строки по буквам
>>> fname = 'path'
>>> with open(fname) as f:
... r = ''.join(reversed(f.read()))
...
>>> print r
... characters ...



Отредактировано (Ноя. 5, 2011 01:08:25)

Офлайн

#5 Ноя. 17, 2011 20:21:39

Win95
От:
Зарегистрирован: 2011-11-04
Сообщения: 56
Репутация: +  0  -
Профиль   Отправить e-mail  

Не слишком корректное посимвольное реверсирование файла

#!/usr/bin/env python
# -*- coding: utf-8 -*-
def reverse():
sev = open('C:\Python27\input.txt', 'r')
f = open('C:\Python27\output.txt', 'w')
res= sev.read()[::-1] #Реверсируем файл
f.write(res)
f.close()
sev.close()
print 'Process Complete'
reverse()
вот сам написан наверняка кому нибудь пригодиться прога работает и с файлами свыше 150 мб



Отредактировано (Дек. 9, 2011 22:15:41)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version