Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 4, 2010 14:58:01

SETY
От:
Зарегистрирован: 2010-06-04
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Удаленное подключение к Unix

Подскажите, как решить проблему при использовании питоновских программ при удаленном подключении к Unix серверу. При использовании функции input()
не удается вставить текст из нескольких строк, тк каждая новая строка приводит к завершению интерпретатора и ошибке.
Как можно сделать, чтоб программа не завершалась раньше времени?



Офлайн

#2 Июнь 4, 2010 15:17:45

Lolka
От:
Зарегистрирован: 2007-09-29
Сообщения: 128
Репутация: +  0  -
Профиль   Отправить e-mail  

Удаленное подключение к Unix

Вы так написали, будто unix сервера это что-то из ряда вон выходящее, а сама процедура подключения – некое священнодейство.
Напишите лучше свой код и ошибку, что пишет интерпретатор.



Офлайн

#3 Июнь 4, 2010 15:34:38

SETY
От:
Зарегистрирован: 2010-06-04
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Удаленное подключение к Unix

в консоле unix запускаю

user@torn ~> python2.4
>>> input('io')
iomd.doc_header
user@torn ~>
тоесть в input можно передать только одну строчку, дальше интерпретатор завершает работу



Отредактировано (Июнь 5, 2010 22:13:20)

Офлайн

#4 Июнь 7, 2010 03:59:21

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

Удаленное подключение к Unix

второй

>>> raw_input('io: ')
io: abcd
'abcd'
>>>
третий
>>> input('io: ')
io: abcd
'abcd'
>>>



Офлайн

#5 Июнь 7, 2010 04:06:12

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

Удаленное подключение к Unix

второй

>>> s = "abc"
>>> ans = input('prom: ')
prom: s
>>> ans
'abc'
>>> s
'abc'
>>>



Офлайн

#6 Июнь 7, 2010 04:07:49

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

Удаленное подключение к Unix

в общем попробуй записать в переменную и сделать для неё print



Офлайн

#7 Июнь 7, 2010 11:57:53

SETY
От:
Зарегистрирован: 2010-06-04
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

Удаленное подключение к Unix

второй или третий не помогут, несколько строк он не принимает. поясняю, вот если запустить программу в IDLE на виндовс, то все ок:
например, код программы:

tim = raw_input('1 пост:')
tim1 = raw_input(' 2 пост:')
print tim, tim1
запускаем и получаем результат:
>>> 
1 пост:Super-fast and great-looking, Ubuntu is a secure, intuitive operating sys
tem that powers desktops, servers, netbooks and laptops. Ubuntu is, and always
will be, absolutely free.
2 пост:Created by the best open-source experts from all over the world,
Ubuntu is available in 24 languages and ready for download today.

Super-fast and great-looking, Ubuntu is a secure, intuitive operating sys
tem that powers desktops, servers, netbooks and laptops. Ubuntu is, and always
will be, absolutely free. Created by the best open-source experts from all over the world,
Ubuntu is available in 24 languages and ready for download today.
>>>
если с этим же кодом запустить в консоли юникс, то после первой же строки python закроется:
1 пост:Super-fast and great-looking, Ubuntu is a secure, intuitive operating sys
user@torn ~> tem that powers desktops, servers, netbooks and laptops. Ubuntu is, and always w
zcn: comand not found
user@torn ~>



Отредактировано (Июнь 7, 2010 12:03:36)

Офлайн

#8 Июнь 8, 2010 02:18:29

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

Удаленное подключение к Unix

user@torn ~> python2.4
>>> print 'a'
a
>>> print 'b'
b
>>> print 'c'
c
>>> print 'c\n'
c

>>>
такое получается ?



Офлайн

#9 Июнь 8, 2010 04:24:33

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

Удаленное подключение к Unix

кстати, не берёт он несколько строк
только первую

>>> ans = raw_input('io: ')
io: abcd
>>> ans
'abcd'
это в буфере несколько строк abcd
>>> ans = raw_input('io: ')
io: abcd
>>> abcd
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'abcd' is not defined
>>> abcd
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'abcd' is not defined
>>>
остаётся открытым



Офлайн

#10 Июнь 8, 2010 04:28:26

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

Удаленное подключение к Unix

user@torn ~> python2.4
а что есть python2.4, почему он не сообщает версию, работает ли там help()



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version