Автор Тема: python exec  (Прочетена 4950 пъти)

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
python exec
« -: Mar 02, 2012, 14:06 »
Здравейте.

Имам малък проблем относно python exec, не мога да намеря по документациите как мога да изпълня външна команда която да чете променлива от python скрипта.

Код
GeSHi (Python):
  1. #!/usr/bin/python
  2. #-*- coding: utf-8 -*-
  3. import os
  4.  
  5. question = "Выберите файл. Вам нужно написать полный путь к файлу!"
  6. print (question)
  7. answer = raw_input()
  8.  

Та значи искам да направя следното, за пример и ориентация ще дам от Шел.

Код
GeSHi (Bash):
  1. echo "Въпрос"
  2. read otgowor
  3. cat $otgowor | curl -F 'sprunge=<-' http://sprunge.us

Надявам се да успях да задам въпроса си добре.
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: python exec
« Отговор #1 -: Mar 02, 2012, 18:46 »
Да видим дали правилно съм разбрал: искаш bash да чете променлива на python? Защото долния пример прави точно това: шела, че те променлива от bash скрипт.
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Re: python exec
« Отговор #2 -: Mar 02, 2012, 18:59 »
Да видим дали правилно съм разбрал: искаш bash да чете променлива на python? Защото долния пример прави точно това: шела, че те променлива от bash скрипт.

Значи дадох за пример работещия баш вариант, искам да направя същото само че с Python или Ruby.
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

Acho

  • Напреднали
  • *****
  • Публикации: 5256
  • Distribution: Slackware, MikroTik - сървърно
  • Window Manager: console only
    • Профил
    • WWW
Re: python exec
« Отговор #3 -: Mar 02, 2012, 18:59 »
/off

Ама един път да се разберете и вие двамата. И то от 3 реда код. Накефих се.
Активен

CPU - Intel Quad-Core Q8400, 2.66 GHz; Fan - Intel Box; MB - Intel G41M-T2; RAM - DDR2-800, Kingston HyperX, 2X2048 MB; VC - onboard, Intel G41 Express Chipset; HDD - Toshiba, 500 GB, SATAII; SB - Realtek HD Audio; DVD-RW - TSSTcorp DVD-RW; LAN - Realtek PCI-E GBE Controller; PSU - Fortron 350 Watt.

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: python exec
« Отговор #4 -: Mar 02, 2012, 19:06 »
/off

Ама един път да се разберете и вие двамата. И то от 3 реда код. Накефих се.

http://docs.python.org/library/commands.html :? :? :?
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

lunarvalley

  • Гост
Re: python exec
« Отговор #5 -: Mar 02, 2012, 19:08 »
Цитат
Ама един път да се разберете и вие двамата.

петък е и бирата прави хората благи и добри (в началото)
 [_]3
Активен

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Re: python exec
« Отговор #6 -: Mar 02, 2012, 19:11 »
/off

Ама един път да се разберете и вие двамата. И то от 3 реда код. Накефих се.


http://docs.python.org/library/commands.html :? :? :?

Хубаво де тези неща ги правя, и работят.
Но когато опитам да изпълня реда с извличане на променливата нещо не се получава, или на грешно място я търся..

Код:
read otgowor
cat $otgowor | curl -F 'sprunge=<-' http://sprunge.us

За това имам в предвид.
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: python exec
« Отговор #7 -: Mar 02, 2012, 21:44 »
Това ли търсиш?
Код
GeSHi (Python):
  1. >>> ans="yes"
  2. >>> "echo %s" % ans
  3. 'echo yes'
  4. >>> "echo %s" % raw_input()
  5. hello world
  6. 'echo hello world'
  7. >>>
  8.  

Или се чудиш как да пуснеш pipeline?
Активен

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Re: python exec
« Отговор #8 -: Mar 02, 2012, 23:31 »
Това ли търсиш?
Код
GeSHi (Python):
  1. >>> ans="yes"
  2. >>> "echo %s" % ans
  3. 'echo yes'
  4. >>> "echo %s" % raw_input()
  5. hello world
  6. 'echo hello world'
  7. >>>
  8.  

Или се чудиш как да пуснеш pipeline?

Не е това.
Толкова ли лошо попитах?

Нали давам за пример от Шел как вземам от променливата

read promenliwa
exec cmd | $promenliwa

Но не знам как да го приложа в Python, или знам но просто го правя неправилно.
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: python exec
« Отговор #9 -: Mar 03, 2012, 03:07 »
Сега, определено успяваш да си противоречиш с всеки следващ пост. Това exec cmd | $promenliwa направо избива рибата.

Съдейки по първия пост, задачата ти трябва да е следната:
Потребителят въвежда на стандартния вход име на файл и съдържанието на файла трябва да се качи в sprunge.us и да се върне в низ url към каченото.
Така ли е?

Edit: ОК. Всичко, което ти тябва, ти е казано. Поиграй си с commands.getoutput(), забележи, че приема цял команден ред, вкл. pipeline, огледай коя опция трябва още за curl и готово.
« Последна редакция: Mar 03, 2012, 03:24 от bop_bop_mara »
Активен

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Re: python exec
« Отговор #10 -: Mar 03, 2012, 09:10 »
Сега, определено успяваш да си противоречиш с всеки следващ пост. Това exec cmd | $promenliwa направо избива рибата.

Съдейки по първия пост, задачата ти трябва да е следната:
Потребителят въвежда на стандартния вход име на файл и съдържанието на файла трябва да се качи в sprunge.us и да се върне в низ url към каченото.
Така ли е?

Edit: ОК. Всичко, което ти тябва, ти е казано. Поиграй си с commands.getoutput(), забележи, че приема цял команден ред, вкл. pipeline, огледай коя опция трябва още за curl и готово.

Значи с баш скрипта, да опиша какво правим.

Пита се за файл, пише се в стандартния вход и се вкарва в променлива, след което командната линия cat $file | curl -F 'sprunge=<-' http://sprunge.us

При което като изход трябва да даде съответен линк.

root@CLFDG [ 9:09:45 ] [ 03/03/12 ] [ pts/6 ] /home/roko__/bin # sprunge
Изберете файл./Выберите файл./Select file.
check-emerge
 http://sprunge.us/Qegh
root@CLFDG [ 9:10:18 ] [ 03/03/12 ] [ pts/6 ] /home/roko__/bin #       

Та ми се иска същото да го направя в ООП. 
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: python exec
« Отговор #11 -: Mar 03, 2012, 14:38 »
ОК де, вече са ти казали всичко, което ти трябва. Да разбираме ли, че няма сам да се пробваш, а искаш кода наготово?  ???
Активен

AMD

  • Напреднали
  • *****
  • Публикации: 873
  • Distribution: Calculate Linux Scratch 64 / Alt Linux Centaurus 6.0 64
  • Window Manager: Gnome 2.32/3.2 XFCE 4.8/4.10-git
  • AMD Athlon64/Sempron64 4000+Dual Core/3400+
    • Профил
Re: python exec
« Отговор #12 -: Mar 03, 2012, 16:27 »
ОК де, вече са ти казали всичко, което ти трябва. Да разбираме ли, че няма сам да се пробваш, а искаш кода наготово?  ???

Аз поне не виждам да са ми казали ? Пробвах се но не намирам полезна информация или кратки примери.

Извън темата, някой има ли опит с Xdialog?
При параметри като Xdialog --yesno "Въпрос" размер1 размер2 нали се показва диалогов прозорец с въпроса, та мисълта ми е как точно трябва да се направи в скрипта за да може да "знае" кога какъв бутон е натиснат, и следователно при различните действия да изпълнява различни командни линии.
Активен

Господи моля те пази ме от ламерите, от хакерите и сам мога да се пазя.

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: python exec
« Отговор #13 -: Mar 03, 2012, 21:53 »
Цитат
Аз поне не виждам да са ми казали ? Пробвах се но не намирам полезна информация или кратки примери.

Цитат
Поиграй си с commands.getoutput(), забележи, че приема цял команден ред, вкл. pipeline, огледай коя опция трябва още за curl и готово.

???

Да не говорим, че току-що ме светнаха, че не ти трябва pipeline изобщо:
Код
GeSHi (Bash):
  1. curl -F 'sprunge=@try/try.c' http://sprunge.us
прави напълно същото, като
Код
GeSHi (Bash):
  1. cat try/try.c | curl -F 'sprunge=<-' http://sprunge.us

ПС. Пак ти припомням следния пример как може да си построиш низ:
Код
GeSHi (Python):
  1. >>> "cat %s" % raw_input()
  2. try/try.c
  3. 'cat try/try.c'
  4. >>>

« Последна редакция: Mar 03, 2012, 22:01 от bop_bop_mara »
Активен

b2l

  • Напреднали
  • *****
  • Публикации: 4786
  • Distribution: MCC Interim
  • Window Manager: - // - // -
  • ...sometimes I feel like screaming... || RTFM!
    • Профил
    • WWW
Re: python exec
« Отговор #14 -: Mar 04, 2012, 17:40 »
Отговора е да си смениш шела с пайтънкис такъв.

   
Та ми се иска същото да го направя в ООП.

ООП  ??? ???
Активен

"Човекът е въже, опънато между звяра и свръхчовека, въже над пропаст. Човекът е нещо, което трябва да бъде превъзмогнато." - Фр. Ницше

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
exec gnome-session not found
Настройка на програми
stok 2 2848 Последна публикация Apr 27, 2002, 05:54
от
Python IDE
Настройка на програми
gamehack 1 3976 Последна публикация May 23, 2003, 12:03
от rat
Български счетоводен софтуер на Python
Предложения за български проект
cvludmiloff 3 4927 Последна публикация Jun 05, 2004, 17:38
от vladou
exec() и fork()
Коментар
Airfan 3 2820 Последна публикация Jun 22, 2005, 11:43
от Йордан
Python
Общ форум
fantom 6 4198 Последна публикация Nov 07, 2005, 18:51
от betso