Nejde 12.ta lekcia – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Nejde 12.ta lekcia – Python – Fórum – Programujte.comNejde 12.ta lekcia – Python – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Tom@sQo0
Stálý člen
9. 10. 2007   #1
-
0
-

ahoj, v podstate som opisal program:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import tkFileDialog

def vyberSouboru():
print u"tak jsem uvnitř funkce a právě tisknu tuto větu :-)"
nazev=tkFileDialog.askopenfilename()
vstup.insert(0,nazev)
print nazev
print "Obsah vstupniho pole: ", vstup.get()

from Tkinter import *
hlavni=Tk()

# tady bude nas cely program


ramecek1=Frame(hlavni)
ramecek1.pack()

vstup=Entry(ramecek1)
vstup.pack(side=LEFT)

prochazej=Button(ramecek1, text='...', command=vyberSouboru)
prochazej.pack()

tlOK=Button(hlavni, text='OK')
tlOK.pack(fill=BOTH)



hlavni.mainloop() # spustíme/zobrazíme celý program


lenze on mi teraz hadze chybu:

tomi@tomi-desktop:~/tomi/develop/python$ ./hellot*
File "./hellotkinter.py", line 34
vstup.insert(0, nazev)
^
IndentationError: unexpected indent


neviete co som spravil zle? diky :)

Nahlásit jako SPAM
IP: ...–
Tom@sQo
Reklama
Reklama
Blujacker
~ Moderátor
0
Grafoman
9. 10. 2007   #2
-
0
-

špatný odsazení



#!/usr/bin/python
# -*- coding: utf-8 -*-

import tkFileDialog

def vyberSouboru():
print u"tak jsem uvnitř funkce a právě tisknu tuto větu :-)"
nazev=tkFileDialog.askopenfilename()
vstup.insert(0,nazev)
print nazev
print "Obsah vstupniho pole: ", vstup.get()

from Tkinter import *
hlavni=Tk()

# tady bude nas cely program


ramecek1=Frame(hlavni)
ramecek1.pack()

vstup=Entry(ramecek1)
vstup.pack(side=LEFT)

prochazej=Button(ramecek1, text='...', command=vyberSouboru)
prochazej.pack()

tlOK=Button(hlavni, text='OK')
tlOK.pack(fill=BOTH)



hlavni.mainloop() # spustíme/zobrazíme celý program

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
Phoenix0
Super člen
9. 10. 2007   #3
-
0
-

No prostě tam máš o mezeru víc;-)

	...

nazev=tkFileDialog.askopenfilename()
vstup.insert(0,nazev)
print nazev
...

Nahlásit jako SPAM
IP: 85.70.88.–
Tom@sQo0
Stálý člen
10. 10. 2007   #4
-
0
-

diky moc, uz to funguje ;)

Nahlásit jako SPAM
IP: ...–
Tom@sQo
Tom@sQo0
Stálý člen
16. 10. 2007   #5
-
0
-

este mam dalsiu otazku, sice nie k tomu istemu, ale nechcel som tu robil "bordel" pre vas zrejme primitivnymi otazkami, tak to davam sem :)

// hadze mi tuto chybu v subore
tomi@tomi-desktop:~/tomi/develop/python$ ./palm*
zlozky adresara
hello.py hellotkinter.py palma_spracuj.py programujte.py
Traceback (most recent call last):
File "./palma_spracuj.py", line 5, in <module>
for i in os.system('ls'):
TypeError: 'int' object is not iterable

pricom zdrojak je:



#!/usr/bin/python
import os

print "zlozky adresara"
for i in os.system('ls'):
print "subor: ", i



kde je chyba? diky ;)

Nahlásit jako SPAM
IP: ...–
Tom@sQo
Tom@sQo0
Stálý člen
16. 10. 2007   #6
-
0
-

este k tomu taka podotazka, ze ako ulozim vystup programu do premennej?

Nahlásit jako SPAM
IP: ...–
Tom@sQo
geon0
Grafoman
16. 10. 2007   #7
-
0
-

1/ zapomen na os.system. V naprosté většině není potřeba. To je jen úchylka bortaka nebo kdo to tady kdysi nadhodil. POužívej metody z os nebo os.path.

import os


for soubor in os.listdir("."):
print soubor


2/ nejlépe do souboru, a to snad zvládneš nebo hledej file, write(), close() .....

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Tom@sQo0
Stálý člen
17. 10. 2007   #8
-
0
-

mnoo ja potrebujem vytvorit program , ktory vykona nejaky skompilovany c++ program, porovna jeho spravnost s dopredu udanych vystupom a odmeria jeho vykonnost...

to ls, som len tak skusal pre zaciatok(ale aj to v programe vyuzijem), ja v skutocnosti potrebujem hodit do suboru vystup programu program so vstupom napr. data.in, cize ma napada len os.system('./a.out < data.in > data.out')... je na to aj ine riesenie?
dalej by ma zaujimalo, ci nepoznas nejaku referencnu prirukcu na moduly, ako je napr. os, lebo nechcem tu stale otravovat na fore s tymito vecami ;)

Nahlásit jako SPAM
IP: ...–
Tom@sQo
geon0
Grafoman
17. 10. 2007   #9
-
0
-

Aha, ne, tak na to není jiné řešení. Jen místo os.system možná použít: http://www.py.cz/SpousteniExternichProgramu

Ten manuál najdeš buď u sebe v PC nebo python.org http://www.python.org/doc/. Různé české onlilne příručky jsou na http://www.py.cz/TutorialyLiteratura

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Tom@sQo0
Stálý člen
17. 10. 2007   #10
-
0
-

mnoo ja som nasiel prave PERFEKTNU REFERENCNU PRIRUCKU, je to len jedna html stranka ale velmi obsiahla, odporucam pre zatiatocnikov, so lepsiu este v zivote nevidel ;)


este by ma zaujimalo, ze ako a KDE ulozit program v pythone, aby som ho mohol v konzole spustit len zadanim jeho mena bez ohladu, ci som v zlozke s danym programom... napr ma program.py niekde ulozeny, ale ja som v uplne inej zlozke a chcem ho spustit... co mam robit?(ps: mam ubuntu ;-])


edit: upsik, sorry, som zabudol dat ten link na tu referencnu prirucku :), tak tu je:http://rgruet.free.fr/PQR25/PQR2.5.html

Nahlásit jako SPAM
IP: ...–
Tom@sQo
geon0
Grafoman
17. 10. 2007   #11
-
0
-


1/ bud uvedes plnou cestu napr. /home/tom/sripty/mujpy.py
2/ nebo cestu zadáš do systémové proměnné PATH - ale to je již spíše otázka do linuxu - a pak to půjde odkudkoliv jen mujpy.py

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Tom@sQo0
Stálý člen
17. 10. 2007   #12
-
0
-

viac sa mi paci druha moznost, cize vlozenie cesty do premennej path... ako to spravit, nevies nahodou?

Nahlásit jako SPAM
IP: ...–
Tom@sQo
Blujacker
~ Moderátor
0
Grafoman
17. 10. 2007   #13
-
0
-

do path přidáš cestu následujícím způsobem:



import sys
sys.path.append(cesta)

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
Tom@sQo
~ Anonymní uživatel
158 příspěvků
19. 10. 2007   #14
-
0
-

nooo ale aj tak su tu este dva dalsie problemy:

1) sys.path.append(cesta) --> po skonceni programu sa to ztamade aj zmaze :(

a o dost zavaznejsi: aj ked som v adresari s pythonovskym scriptom(a.py), tak sa nespusti ani po napisani "a.py" ani po "a", ale LEN po zavolani "./a.py" a to uz samo o sebe naznacuje, ze je to zavisle na aktualnom adresari... takze nemam ani ponatia, ze ako to zavolam z ineho adresara...

Nahlásit jako SPAM
IP: ...–
Tom@sQo
~ Anonymní uživatel
158 příspěvků
19. 10. 2007   #15
-
0
-

hotovoo, riesenie vid http://forum.kubuntu.sk/viewtopic.php?pid=14568 ;)

Nahlásit jako SPAM
IP: ...–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 22 hostů

Podobná vlákna

3 lekcia — založil k2k21

12. lekcia — založil myky

6. lekcia — založil adam

14 lekcia — založil stanke

11+12 lekcia — založil Eversmann

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý