Sida 1 av 1

Python indata

Postat: 31 maj 2007, 14:45
av sontho
Hej
Testar lite med python, och skulle vilja skicka in lite data från kommandoraden.
:-X  Oooops! just nu kör jag i windows...... sorry  :-[

Men skulle ändå vilja kunna skriva så här:

Kod: Markera allt

python mitt_program.py indata1 indata2 indata3
och i programmet då använda indata1/2/3

någon som har förslag på hur jag gör.
Det borde vara tokenkelt men jag har inte räknat ut hur.

/Thomas

SV: Python indata

Postat: 31 maj 2007, 14:57
av Chippen
Jag fattar inte riktigt vilken typ av indata de e du pratar om... vi du kunna skriva saker som programet ska använda eller vill du imortera data från andra filer?

SV: Python indata

Postat: 31 maj 2007, 15:03
av sontho
Eftersom jag vill lära mig python så tänkte jag att jag lika gärna kan använda det nu när jag behöver göra ett litet program här på jobbet (i windowsmiljö)
I kommandopromten skulle jag vilja kunna skriva

Kod: Markera allt

python mitt_program.py data1 data2 data3
och sedan använda data1 data2 data3 i programmet.

Och som svar på din fråga, ja jag vill skriva in uppgifterna.

/Thomas

SV: Python indata

Postat: 31 maj 2007, 15:04
av Smygis

Kod: Markera allt

import sys
Och sedan ligger all "data", Alla argument i listan:

Kod: Markera allt

sys.argv
Har jag för mig att det var.

SV: Python indata

Postat: 31 maj 2007, 15:36
av Chippen
om jag förstår dig rätt så vill du att programmet ska låta dig skriva värden...

ett sådant program skulle se ut såhär:

string = raw_input("skriv en sträng:")
int = input("skriv en siffra:")

print string
prin int


int och string är bara variabelnamn för att beskriva vad som kommer finnas i dem... de kan heta vad som hällst (nästan)... sedan kan du använda variablerna int och string till lite vad du vill...

skillnaden på raw_input och input är att raw_input tar emot strängar och input tar int och float (hel tal och decimal tal)


har jag missförståt vad du vill åstadkomma?

SV: Python indata

Postat: 31 maj 2007, 15:42
av Smygis
Chippen skrev: om jag förstår dig rätt så vill du att programmet ska låta dig skriva värden...

ett sådant program skulle se ut såhär:

string = raw_input("skriv en sträng:")
int = input("skriv en siffra:")

print string
prin int


int och string är bara variabelnamn för att beskriva vad som kommer finnas i dem... de kan heta vad som hällst (nästan)... sedan kan du använda variablerna int och string till lite vad du vill...

skillnaden på raw_input och input är att raw_input tar emot strängar och input tar int och float (hel tal och decimal tal)


har jag missförståt vad du vill åstadkomma?
Jo ang den där input... Den är lite lurig.

Kod: Markera allt

>>> def hej():
...   print "Hello, World"
... 
>>> input()
hej
<function hej at 0xb7d323ac>
>>> input()
hej()
Hello, World
>>> print input.__doc__
input([prompt]) -> value

Equivalent to eval(raw_input(prompt)).
>>> eval
<built-in function eval>
>>> eval("hej")
<function hej at 0xb7d323ac>
>>> eval("hej()")
Hello, World
>>> 

SV: Python indata

Postat: 31 maj 2007, 15:44
av sontho
Tack för svar.

Smygis svar var det jag letade efter  :D

Denna kommandosträng skall skickas automatiskt från ett annat program, så jag vill inte ha någon dialog ;)

Kanske har ni också svar på hur man kan få kommandofönstret att INTE synas.
Som det är nu blinkar det ju till i skärmen (det går ju fort, men ändå)

tack så länge
/Thomas

EDIT:
Nu var jag nog liiiiite otydlig
Alltså om jag skickar denna kommandosträng från ett windowsprogram så kommer kommandofönstret att blinka till när programmet körs. Det kanske går att lösa så att det inte syns.
Hmmm... undrar om detta blev tydligare  :P

SV: Python indata

Postat: 31 maj 2007, 16:22
av Lars
Under Windows så körs .py-filer med ett terminalfönster, .pyw-filer körs utan. Är det det du är ute efter?

SV: Python indata

Postat: 31 maj 2007, 21:36
av sontho
Lars skrev: Under Windows så körs .py-filer med ett terminalfönster, .pyw-filer körs utan. Är det det du är ute efter?
Japp! precis
.....fast jag fick det inte att fungera  :-\  men jag testar vidare.

Tack för svar.


PS som jag skrev i en annan tråd,
rackarns trevligt forum detta, snabba svar och dessutom om allt möjligt  :)

Kanske man kan ställa frågor om matlagning också? ..... nä kanske inte.
fast lite sugen på kroppkakor blir man ju.

SV: Python indata

Postat: 31 maj 2007, 22:16
av Galgalid
Tänk på att variabel-typer som int, float, double med mera inte finns i python. Det är alltså fritt fram ^^

tal1 = 5.4
tal2 = 1

man behöver inte deklara "int" eller "float" eller något liknande. Python fixar allt sånt automatiskt

SV: Python indata

Postat: 31 maj 2007, 23:55
av Urban Anjar
sontho skrev:
Lars skrev: Under Windows så körs .py-filer med ett terminalfönster, .pyw-filer körs utan. Är det det du är ute efter?
Japp! precis
.....fast jag fick det inte att fungera  :-\  men jag testar vidare.

Tack för svar.


PS som jag skrev i en annan tråd,
rackarns trevligt forum detta, snabba svar och dessutom om allt möjligt  :)

Kanske man kan ställa frågor om matlagning också? ..... nä kanske inte.
fast lite sugen på kroppkakor blir man ju.
Har för mig man ska kunna göra exe-filer också på något vis.

Till kroppkakorna behöver du gammal potatis, mer kommer jag inte ihåg, men grundreceptet står nog i vilken kokbok som. Mmm va gott.

SV: Python indata

Postat: 01 jun 2007, 00:23
av Chippen
här är ett recept... det är öländskt, vet inte riktigt vilken sort du menade..
http://sv.wikibooks.org/wiki/Kroppkakor

SV: Python indata

Postat: 01 jun 2007, 01:48
av Galgalid
ja det går att göra .exe-filer av dina .py-filer....du måste installera py2exe först...kolla in http://www.py2exe.org/  ;D

SV: Python indata

Postat: 01 jun 2007, 07:32
av sontho
Chippen skrev: här är ett recept... det är öländskt, vet inte riktigt vilken sort du menade..
;D Självklart, chippen, är det Öländska jag brukar äta.
Farmor bodde i Oskarshamn och gjorde alltid Öländska kroppkakor när vi kom och hälsade på.
Vad skulle jag komma på detta för nu då  ;) nu blev jag ju toksugen!
Och för er som inte vet att njuta av en kroppkaka så kan jag bara berätta att man alltid måste göra för många för en måltid.
Varför?!
Jo för att uppstekta kroppkakor dagen efter (inte dagen efter, utan dagen efter måltiden)
är nästan ett snäpp godare  :P ;D


Och för att hålla sig till ämnet:
Galgalid och Urban: Det har jag faktiskt redan testat, fungerade riktigt bra.

Tack alla för hjälp! Nu måste jag väl jobba lite själv också  ::)

SV: Python indata

Postat: 01 jun 2007, 12:27
av Smygis
Du kanske skulle lösa tråden.

Ändra första inlägget och sätta till [LÖST] i Ämnte och byta ikon  till LÖST ikonen.

SV: Python indata

Postat: 01 jun 2007, 12:48
av sontho
Smygis skrev: Du kanske skulle lösa tråden.

Ändra första inlägget och sätta till [LÖST] i Ämnte och byta ikon  till LÖST ikonen.
Satt precis och funderade på det.
Men hur?
finns det någon 'ändra knapp' som jag inte ser?


EDIT
Nu ser jag problemet
Jag gjorde inlägget från hemmadatorn, nu är jag på jobbet.
citat från annan post i forumet
Förmodligen så är det så att du nu har en ny ip adress och därför kan du inte editera poster som är gjorda på gamla ip adressen.

Eller så sitter du vid en annan dator nu mot då du postade och samma sak där, inte samma ip.
Så jag fixar väl hemmifrån i kväll.

EDIT 2
Jag ångrar mig ;) jag gjorde ju faktiskt inlägget från den här datorn i går  ???