egen9 Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 Hei driver og lærer meg python, og prøver å åpne en fil med denne koden, og har $ fil.py ert.txt i komando linja, noen som ser hvorfor? (btw. bruker pysscripter nyeste versjon hvis det har noe å si) from sys import argv script, filename = argv txt = open(filename) print "Here's your file %r:" % filename print txt.read() print "Type the filename again:" file_again = raw_input("> ") txt_again = open(file_again) print txt_again.read() Lenke til kommentar
etse Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 (endret) python 2.x eller 3.x? Det har ofte mye å si Koden ser i hvertfall ut til å være ment til 2.x Ta en enkel debugging med å kjøre følgende kode på samme måte: from sys import argv print argv Ved å skrive ut ting på denne måten kan man lett se hva som er galt. Endret 25. mars 2013 av etse Lenke til kommentar
snippsat Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 (endret) Denne er kode må kjøres fra kommandolinjen,kjører du fra PyScripter vil du få "Too may values to unpack". Når koden ikke kjøreres fra kommandolinjen,vil "argv" kun ha en verdi(som er script navn) >>> script, filename = [1] Traceback (most recent call last): File "<interactive input>", line 1, in <module> ValueError: need more than 1 value to unpack >>> script, filename = [1,2] >>> script 1 >>> filename 2 >>> Eller ser nå at det kan være at du får for mage verdier fra kommandolinjen. >>> script, filename = [1,2,3] Traceback (most recent call last): File "<interactive input>", line 1, in <module> ValueError: too many values to unpack Som postet bruk "print argv" eller se på lengde len(argv). "argv" putter argumenter fra kommandolinjen inn i en liste. Endret 25. mars 2013 av SNIPPSAT Lenke til kommentar
egen9 Skrevet 25. mars 2013 Forfatter Del Skrevet 25. mars 2013 Denne er kode må kjøres fra kommandolinjen,kjører du fra PyScripter vil du få "Too may values to unpack". Når koden ikke kjøreres fra kommandolinjen,vil "argv" kun ha en verdi(som er script navn) >>> script, filename = [1] Traceback (most recent call last): File "<interactive input>", line 1, in <module> ValueError: need more than 1 value to unpack >>> script, filename = [1,2] >>> script 1 >>> filename 2 >>> Eller ser nå at det kan være at du får for mage verdier fra kommandolinjen. >>> script, filename = [1,2,3] Traceback (most recent call last): File "<interactive input>", line 1, in <module> ValueError: too many values to unpack Som postet bruk "print argv" eller se på lengde len(argv). "argv" putter argumenter fra kommandolinjen inn i en liste. Hvordan kjører jeg den fra komandolinjen? Lenke til kommentar
snippsat Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 (endret) Hvordan kjører jeg den fra komandolinjen? Hmm du vet hva kommandolinjen er cmd Når du bruker "argv" så er for og få kommandolinje argumenter send til Python koden. Ser sånn ut når jeg kjører en test i cmd. Microsoft Windows [Versjon 6.1.7601] Copyright © 2009 Microsoft Corporation. Med enerett. C:\Users\Tom>cd\ C:\>f: F:\>cd 1py_div F:\1py_div>python test_argv.py test.txt Here's your file 'test.txt': 111.11 222.22 Type the filename again: > test.txt 111.11 222.22 F:\1py_div> Endret 25. mars 2013 av SNIPPSAT Lenke til kommentar
egen9 Skrevet 25. mars 2013 Forfatter Del Skrevet 25. mars 2013 Hmm du vet hva kommandolinjen er cmd Når du bruker "argv" så er for og få kommandolinje argumenter send til Python koden. Ser sånn ut når jeg kjører en test i cmd. Microsoft Windows [Versjon 6.1.7601] Copyright © 2009 Microsoft Corporation. Med enerett. C:\Users\Tom>cd\ C:\>f: F:\>cd 1py_div F:\1py_div>python test_argv.py test.txt Here's your file 'test.txt': 111.11 222.22 Type the filename again: > test.txt 111.11 222.22 F:\1py_div> Ja, men hvordan kjøre jeg kode fra cmd? Når jeg googler står at jeg skal skrive python der, men da får jeg "gjenkjennes ikke.." feilmeldinga Lenke til kommentar
snippsat Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 (endret) Ja, men hvordan kjøre jeg kode fra cmd? Når jeg googler står at jeg skal skrive python der, men da får jeg "gjenkjennes ikke.." feilmeldinga Du må sette opp environment variable så den peker på Python versjonen du bruker, ellers må du kjøre fra mappe der "python.exe" er plassert. Her er hvordan du kan sette oppe dette. I environment variable Path,legger du til ;C:\python27\;C:\python27\scripts Restart pcen. Start cmd,skriv "python" Er environment variable satt opp riktig starter nå Python. Video av det samme. Endret 25. mars 2013 av SNIPPSAT 1 Lenke til kommentar
etse Skrevet 25. mars 2013 Del Skrevet 25. mars 2013 Vil legge til at "restart pcen" er helt unødvendig. Eneste er at du må lukke kommandolinjen og åpne et nytt kommandolinjevindu så blir miljøvariablene lastet inn på nytt. 1 Lenke til kommentar
slacky Skrevet 13. april 2013 Del Skrevet 13. april 2013 (endret) ---- Fjernet. Endret 13. april 2013 av warpie Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå