Spouštění – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Spouštění – Python – Fórum – Programujte.comSpouštění – Python – Fórum – Programujte.com

 

Jakub Vojáček
~ Moderátor
0
Grafoman
10. 4. 2006   #1
-
0
-



from Tkinter import*
okno=Tk()
text=Text()
text.pack()
def save():
ulozit=text.get(1.0,END)
soubor=file('zkouska.brb','w')
soubor.write(ulozit)
soubor.close()
Button(text="uloz",command=save).pack()
mainloop()

když si tímto způsobem vytvořím okno a do nej text, do kterého něco napíšu, a potom to uložím pomocí tlačítka ulozit,tak se to uloží jako *.brb
Jde nějak napsat ten skript, aby když z kliknu na soubor s příponou *.brb otevřel text do toho okna? Myslím že z toho potřebuju udělat exe, ale co dál.
Dík za vše

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š
Farundel0
Super člen
10. 4. 2006   #2
-
0
-

No budes potrebovat asociovat soubory s priponou brb k tvemu programu - pokud jsi ve widlich tak pres ovladaci panely -> moznosti slozky -> typy souboru - nebo muzes zkusit primo upravit registry windows...v tom pripade bych se mrknul na [url=http://www.py.cz/PyWin32]tuhle[/url] knihovnu...

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Jakub Vojáček
~ Moderátor
0
Grafoman
10. 4. 2006   #3
-
0
-

mezi typama souboru uz ho taky mam a taky jak je tam to nastaveni "otev??t v", tak jsem to nastavil na exe verzi toho prohl??e?e, ale on to nedok?zal zpracovat,otev?elo se ?ern? okno a hned zase zhaslo...

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š
geon0
Grafoman
10. 4. 2006   #4
-
0
-

Mně to normálně funguje. Když dám pravým tlačítkem na brb a dám Otevřít v... a najdu třeba Firefox nebo PSPad, tak se mi to normálně otevře.

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Farundel0
Super člen
10. 4. 2006   #5
-
0
-

Delal jsi ten exe soubor s pomoci py2exe? Vypada tvuj setup.py nejak takhle?

# setup.py

from distutils.core import setup
import py2exe

setup(windows=["editor.pyw"])
to cerny problikavajici okno by se mohlo objevit v pripade ze tam nemas windows=... ale console=...

2geon: ja myslim, ze to chce otevirat primo v tom svym programu...

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
geon0
Grafoman
10. 4. 2006   #6
-
0
-

v kterém svém programu? jak vypadá? je v pythonu? ten rpogram musí teda umět zopracovat parametry z příkazové řádky...

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Jakub Vojáček
~ Moderátor
0
Grafoman
10. 4. 2006   #7
-
0
-

2geon-v tom programu co jsem uvedl jako p??klad na ulo?en?

2farundeljo, ten soubor exe jsem d?lal v py2exe.pou?il jsem windows=, ale stejn? zase jenom ?erny okno.

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š
Farundel0
Super člen
10. 4. 2006   #8
-
0
-

A k tomu otevirani - kdyz si prohlidnes jiny typy souboru a jejich akci open, tak si vsimni tohodle na konci "%1"

C:\WINDOWS\system32\NOTEPAD.EXE %1
To znamena, ze se notepadu pri otevreni txt souboru preda jako parametr nazev toho souboru (%1 - prvni argument) a notepad si ho pak otevre...vyzkousej treba v total commanderu v adresari se souborem zkouska.brb zadat prikaz
notepad zkouska.brb
a on se ti ten soubor otevre v notepadu...
nebo
notepad zkouska.brb /p zkouska.brb
a on se ti posle na tiskarnu...

Takze zkus nastavit akci open takhle
[i]cesta_k_exe_souboru_s_editorem[/i] %1
a pak k tomu programu dodelej nacteni souboru, jehoz jmeno bylo zadano v prikazove radce za nazvem programu, do toho textboxu v tkinteru...

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
geon0
Grafoman
10. 4. 2006   #9
-
0
-

No, tak to bys musel ten program upravit, aby dokázal číst z příkazové řádky. Vždyť on umí jen ukládat a načítat ;-)

A nebo tam dát tlačítko Otevři a volat tkinterovskou funkci tkFileDialog.askopenfilename()

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Jakub Vojáček
~ Moderátor
0
Grafoman
10. 4. 2006   #10
-
0
-

Jak udělat aby ten program četl z té příkazové řádky?
Když jsem v té složce a použiju:



editor zkouska.brb %1

Tak se mi otevře to okno mého editoru, ale nevyplní se tam to co jsem zapsal do toho zkouska.brb

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š
Farundel0
Super člen
10. 4. 2006   #11
-
0
-

1) Vyzkousej si nekde bokem

import sys

print sys.argv[1]

2) Nepochopil jsi me a trosku jsi smotal vic veci dohromady...
notepad zkouska.brd
sis me vyzkouset v tom total commanderu
[i]cesta_k_exe_souboru_s_editorem %1[/i]
jsi mel napsat do akce open...

Az to budes mit, tak pri dvojkliku na brd soubor windows predaji tvymu programu nazev toho souboru (to je to %1) - v tvym programu sys.argv[1]

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Jakub Vojáček
~ Moderátor
0
Grafoman
10. 4. 2006   #12
-
0
-

Promiň,ale ty si wizard a já sem moc pomalej a nezvládám tě sledovat:



from Tkinter import*
import sys
print sys.argv[1]
def otevri():
editor zkouska.brb %1
okno=Tk()
text=Text()
text.pack()
def save():
ulozit=text.get(1.0,END)
soubor=file('zkouska.brb','w')
soubor.write(ulozit)
soubor.close()
Button(text="uloz",command=save).pack()
mainloop()

takle nějak by měl ten program vypadat??nechápu to print sys.argv[1];když sem to zkoušel pustit tak naběhla nějaká chyba-můžeš mi pomoci?


>>> import sys
>>> print sys.argv[1]

Traceback (most recent call last):
File "<pyshell#6>", line 1, in -toplevel-
print sys.argv[1]
IndexError: list index out of range
>>>

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š
Farundel0
Super člen
10. 4. 2006   #13
-
0
-

Wizard? ale kdeze... :o)))

Rad ti pomuzu, ale neumim tkinter...

1) V moznostech slozky vytvor novy typ souboru brd a prirad mu akci "open", pricemz aplikaci pouzitou k provedeni akce zadas takhle: "cesta_k_exe_souboru_s_tvym_editorem %1" presne jak je to treba u txt souboru...

2) V tvym programu doprogramujk to, aby ti to v textboxu vypsalo soubor s nazvem v promenne "sys.argv[1]" (musis na zacatku programu ale samozrejme importovat modul [i]sys[/i])

Kdyz tak se jeste zeptej, ale ja uz se ted jdu trosku ucit na maturu, je fakt nacase :o))) pozitri pisu maturitni pisemku :o))), tak asi neodpovim hned...

Jo a ta chyba ti nabehla proto, ze tomu programu nebyl predan zadny parametr - sys.argv[0] je vzdycky nazev programu, dalsi prvky toho seznamu jsou parametry...proto ti to napsalo list index out of range - sys.argv[1] neexistovalo

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Jakub Vojáček
~ Moderátor
0
Grafoman
10. 4. 2006   #14
-
0
-

Ty maturity ti teda nezavidim.U nas na skole je taky pisou vyssi rocniky a vidim jak sou z toho vynervovaní, takže se toho bojím už teď. Naštěstí mě čekají ještě čtyri roky...

už sem postoupil, že když kliknu na jakejkoliv zkouska.brb, tak se mi otevře to okno, ale za boha nemůžu přijít na to kam do toho programu dát sys.argv a jak to aplikovat:(
V těch druhých složek jsem typu souboru *.brb přidělil jako akci cmd skript:



editor %1.brb

tak doufám že to tak je správně...


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š
Farundel0
Super člen
10. 4. 2006   #15
-
0
-

Ta maturita nejak pujde, zatim slohovka, to pravy peklo prijde az za necely dva mesice...

Takze posledni rada a jdu se fakt ucit :o)))

obsahSouboru = open(sys.argv[1], "r").read()

nejaky_prikaz_ktery_neznam_a_ktery_priradi_prvku_text_obsah_promenne_obsahSouboru
v tomhle ti asi poradit vic nemuzu, protoze tkinter neumim...proste potrebujes nacist obsah toho souboru (1.radek tohohle uryvku) a pak ho nejak vlozit do toho textovyho pole...

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Farundel0
Super člen
10. 4. 2006   #16
-
0
-

Neni to spravne, ma to bejt bez toho ".brb"

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Jakub Vojáček
~ Moderátor
0
Grafoman
10. 4. 2006   #17
-
0
-

už sem to opravil s tím brb v cmd skriptu
já už taky pudu do hajan.



from Tkinter import*
import sys
okno=Tk()
text=Text()
text.pack()
def save():
ulozit=text.get(1.0,END)
soubor=file('neco.brb','w')
soubor.write(ulozit)
soubor.close()
Button(text="uloz",command=save).pack()
mainloop()

tady to normálně funguje, ale já, promiň, nechápu kam mám dát to:


obsahSouboru = open(sys.argv[1], "r").read()
text.insert(END,obsahSouboru)

sorry:(

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š
geon0
Grafoman
10. 4. 2006   #18
-
0
-

http://www.py.cz/TkinterSouboryAdresare ?

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Jakub Vojáček
~ Moderátor
0
Grafoman
10. 4. 2006   #19
-
0
-

Na té stránce je návod, jak něco otevřít, to ano, ale jak to vložit do toho programu? Nechápu:(

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š
Farundel0
Super člen
10. 4. 2006   #20
-
0
-

Treba nekam za text.pack() vloz

if len(sys.argv) > 1: # pokud na nas na prikazove radce ceka nejaky parametr

obsahSouboru = open(sys.argv[1], "r").read()
text.insert(END,obsahSouboru)

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Jakub Vojáček
~ Moderátor
0
Grafoman
10. 4. 2006   #21
-
0
-

Děkuji mockrát. Vše jde

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š
Farundel0
Super člen
10. 4. 2006   #22
-
0
-

Rado se stalo.

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
geon0
Grafoman
11. 4. 2006   #23
-
0
-

Blujacker napsal:

na té stránce je návod, jak něco otevřít, to ano, ale jak to vložit do toho programu? nechápu:(



No, uděláš ještě jedno tlačítko "Otevřít" a v něm bude command= ...., a do té funkce dáš kod z té stránky co potřebuješ, plus něco navíc, co potřebuješ konkrétně ty: text.insert(END,obsahSouboru).

Ale to jen tak naokraj, když už ti to funguje.

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Jakub Vojáček
~ Moderátor
0
Grafoman
11. 4. 2006   #24
-
0
-

no jo, ale já jsem chtěl abych klinul na ten soubor a ono se to rovnou objevilo v tom editoru..
no nic:)

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š
Vítězslav Titl0
Stálý člen
11. 4. 2006   #25
-
0
-

hele mohl by jsi dát ten script do script? sem na na programujte.com. bylo by to prospěšné všem...

Nahlásit jako SPAM
IP: ...–
Co říct? Nic, mluví příspěvky.
Jakub Vojáček
~ Moderátor
0
Grafoman
11. 4. 2006   #26
-
0
-

Já bych to tam dal, ale aby to bylo srozumitelné, bylo by asi lepší kdyby to tam dal geon nebo farundel..

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š
Farundel0
Super člen
11. 4. 2006   #27
-
0
-

A proc? Nevim, cim by to bylo v pripade, ze by to tam dal geon nebo ja, srozumitelnejsi, nez kdybys tam ten program dal ty :o)

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
Farundel0
Super člen
13. 4. 2006   #28
-
0
-

Nerad bych kvuli tomu zakladal novy thread, tak se zeptam tady: nejak mam pocit, ze tady zmizel topic, ve kterym se, tusim, ze Blujacker, ptal na pocitani delky uz napsaneho textu v Tkinteru ve widgetu Text...nemuzu to nikde najit a zrovna ted by se mi to hodilo :o) Tak jestli to tu nekde je, tak se omlouvam, jestli to tu nikdy nebylo a me se to jenom zdalo, tak se taky omlouvam a pokud by to bylo opravdu smazany a nekdo by mi sem nekdo ten kousek kodu mohl napsat, byl bych moc vdecnej...Tkinter neumim a moc ho pouzivat zatim nehodlam, bastlim si tu jen tak nejakou hloupustku a to odpocitavani bych potreboval. Diky moc za pomoc...

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
geon0
Grafoman
13. 4. 2006   #29
-
0
-

Jo, Bluejacker toho smazal hodně, včetně mých odpovědí :-(

Jinak se to dělá tak, že nějak získáš, co v tom je:

To fetch the text contents of the widget, use the get method:

contents = text.get(1.0, END)

a pak len(contents) ;-)

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Farundel0
Super člen
13. 4. 2006   #30
-
0
-

Jasne, to me napadlo, tak spatne na tom nejsem ;o) Mel jsem na mysli to, ze by se delka napsaneho textu prubezne aktualizovala vzdycky, kdyz by pribyl novej znak...nemuzu si to bohuzel ted nijak vyzkouset...

Jak rikam, Tkinter moc neumim, ale napadlo me, jestli se da nejak zjistit, ze pribyl novy znak (mozna porovnanim predchozi a soucasne hodnoty len(content)) a pokud by znak pribyl, zmenil by se vypsany pocet znaku v labelu nad tim textovym polem...v tom pripade by to ale muselo bezet asi v nejakym cyklu (pokud by to neslo v Tkinteru udelat nejak elegantneji) a to se mi moc nezamlouva...

No, to jsou jenom takovy moje myslenky, zajimalo me, kam se podelo reseni tohohle problemu (protoze dobry programator == liny programator ;o)).

Nahlásit jako SPAM
IP: ...–
To follow the path:
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
geon0
Grafoman
14. 4. 2006   #31
-
0
-

jo, jde to. Narazil jsem na to sice a? ned?vno. TEchinka se naz?v? sledov?n? tkinteovsk?ch prom?nn?ch (tracing Variable Class):

http://effbot.org/tkinterbook/variable.htm

Je to *velice* u?ite?n? v?ci?ka, kterou kdy? ?lov?k zn?, u?et?? mnoho n?mahy, p?esn? jak ??k??: nel?n? program?tor == mrtv? program?tor :D

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
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, 9 hostů

Podobná vlákna

Spouštění programu — založil Tomáš Krajča

Chyba ve spouštění — založil Kris

Spouštění příkazů — založil Blujacker

Periodicke spousteni — založil imaj

 

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