Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 6, 2014 20:17:58

_sheva740
Зарегистрирован: 2014-02-06
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенаправление ввода вывода на питоне

py.user.next
Радикально, так вот моя вера может пошатнуться. ))

PanovSergey

Если input заменить на sys.stdin.read, то работает.

Тоесть так?

# -*- coding: utf-8 -*-
import os
import sys
os.chdir(os.path.dirname(os.path.abspath(__file__)))
while True:
	try:
		line=sys.stdin.read()
		print(line)
	except EOFError:
		break

У Вас W7?
У меня xpSP2 и все равно ошибка ((
C:\>myscript.py <dic.txt >rez.txt
Traceback (most recent call last):
File "C:\myscript.py", line 7, in <module>
line=sys.stdin.read(10)
AttributeError: 'NoneType' object has no attribute 'read'
C:\

Офлайн

#2 Фев. 6, 2014 20:26:12

_sheva740
Зарегистрирован: 2014-02-06
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенаправление ввода вывода на питоне

Если все файлы бросить в папку C:\Python33\
то работает, единственно надо как-то прекращать ввод, мне кажется а то
подвисает и в rez.txt пишет “/r/n” до бесконечности. А когда Ctrl+C делаешь, то
выводит …

C:\Python33>python.exe myscript.py <dic.txt >rez.txt
Traceback (most recent call last):
File "myscript.py", line 7, in <module>
line=sys.stdin.read()
File "C:\Python33\lib\encodings\cp1251.py", line 22, in decode
def decode(self, input, final=False):
KeyboardInterrupt

.. а так, если в той папке, то работает.

Отредактировано _sheva740 (Фев. 6, 2014 20:26:50)

Офлайн

#3 Фев. 6, 2014 20:29:01

_sheva740
Зарегистрирован: 2014-02-06
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенаправление ввода вывода на питоне

aaa !!!!!
В папке C:\Python33\ работает !!!

# -*- coding: utf-8 -*-
import os
import sys
os.chdir(os.path.dirname(os.path.abspath(__file__)))
while True:
	try:
		line=input()
		print(line)
	except EOFError:
		break

Урааааа !!!!

Офлайн

#4 Фев. 6, 2014 20:29:42

PanovSergey
От: Екатеринбург
Зарегистрирован: 2013-12-29
Сообщения: 269
Репутация: +  19  -
Профиль   Адрес электронной почты  

Перенаправление ввода вывода на питоне

_sheva740
py.user.nextРадикально, так вот моя вера может пошатнуться. ))PanovSergey
Хм, да 7. Хрюши нет проверить не чем. Попробуйте еще с fileinput.

Офлайн

#5 Фев. 6, 2014 21:12:21

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

Перенаправление ввода вывода на питоне

PanovSergey
Очень спорное утверждение.
не спорное
во-первых, линукс бесплатная и обладает всем нужным софтом
во-вторых, в ней нет глупых ошибок
в-третьих, в ней нет программ для вида
в-четвёртых, в ней можно создать любую среду

в Windows всё направлено на успех Microsoft:
если ты качаешь бесплатную программу, то она бесплатна только для того, чтобы ты зарегистрировался в их сети через неё, поэтому она через несколько недель блокируется, пока ты не зарегистрируешься
в то же время другие программы работают хуже в Windows из-за её особенностей:
например, питон не может выводить весь свой хелп по одной простой причине - в хелпе встречаются символы, которые не попадают в cp866 - историческую несовременную кодировку - и из-за этого вместо хелпа ты видишь исключение

поэтому программисты из Windows частенько безграмотные, так как хорошо умеют работать с Windows и больше ни с чем
к примеру, они плохо знают git, потому что git - родная система для линукс, а в Windows нужно ставить адаптор; плохо умеют обрабатывать текст, потому что sed для них - как музыка с Марса, они вообще не понимают, что это; пишут нефункциональные программы, потому что по их мнению (довольно аквариумному), cmd.exe - функциональная оболочка, ntfs - мощная файловая система, а WinAPI - развитый интерфейс с множеством функций

потом ещё устройство ядра очень грамотное, потому что очень непонятное :rolleyes:
можно выучить и ходить таким умным



Офлайн

#6 Фев. 6, 2014 21:20:11

_sheva740
Зарегистрирован: 2014-02-06
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Перенаправление ввода вывода на питоне

PanovSergey
Вот так работает отовсюду !!!!

C:\>python.exe myscript.py < dic.txt >rez.txt
Спасибо большое!!!!!
Урааааа

Офлайн

#7 Фев. 6, 2014 22:37:19

4kpt_II
От: Харьков
Зарегистрирован: 2013-10-24
Сообщения: 999
Репутация: +  58  -
Профиль   Отправить e-mail  

Перенаправление ввода вывода на питоне

PanovSergey
Вынужден согласиться с py.user.next. Для нормальной работы действительно нужно ставить никсы. И без этого никуда и никак. С джитом, кстати, Хрюша не очень то и дружит. Точнее дружит, но не всегда.
Когда я поставил себе никсы, 50% моих проблем исчезли без следа. Поиграть - то винда самое оно. Работать - уж извините.

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version