Article View: pl.comp.lang.python
Article #27819[jak zdefiniować zmienną globalną]
From: Nateysz
Date: Wed, 24 Nov 2010 22:31
Date: Wed, 24 Nov 2010 22:31
65 lines
2882 bytes
2882 bytes
Wiem, wiem - to pewnie banalne, ale nie mogę znaleźć rozwiązania.
Otóż chcę mieć możliwość wywołania z jednego skryptu Pythona innego
(wszystko działa pod ArcGIS-em).
Wygląda to tak, jak wartość zmiennej komunikat była czyszczona...
Skrypty wyglądają tak:
=================================================================
# Import system modules
import sys, string, os, arcgisscripting
# Create the Geoprocessor object
gp = arcgisscripting.create()
global komunikat
komunikat="wszystko wporzo"
# Load required toolboxes...
gp.AddToolbox("C:/Dokumenty i ustawienia/UserX/Dane
aplikacji/ESRI/ArcToolbox/My Toolboxes/Toolbox.tbx")
# Process: moj_wlasny...
gp.toolbox = "C:/Dokumenty i ustawienia/UserX/Dane
aplikacji/ESRI/ArcToolbox/My Toolboxes/Toolbox.tbx"
gp.Moj_wlasny()
===================================================
======================================Moj_wlasny===============
from Tkinter import *
# Import system modules
import sys, string, os, arcgisscripting
# Create the Geoprocessor object
gp = arcgisscripting.create()
#definicja klasy
class App:
#w konstruktorze umieszczamy ramkę i przycisk
def __init__(self, master):
ramka=Frame(master)
ramka.master.title("Tytul ramki")
ramka.pack(padx=70, pady=5)
#przycisk z poleceniem
self.przycisk=Button(ramka, text="Polecenie",
font=("arial",20,"bold"),command=self.wykonaj)
self.przycisk.pack()
#
#przycisk zamykający
self.przycisk2=Button(master, text="Koniec", command=root.destroy)
self.przycisk2.pack(side=BOTTOM)
#zdefiniowanie odpowiedzi
def wykonaj(self):
gp.AddMessage(komunikat)
print komunikat
#tworzenie okna głównego
root=Tk()
#tworzenie obiektu
app=App(root)
#pętla powodująca wyświetlanie okienka
root.mainloop()
=========================================================
Technical Details
Message-ID:
<4ced9255$0$22814$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailShow Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!news.nask.pl!news.nask.org.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Date: Wed, 24 Nov 2010 23:31:49 +0100 From: Nateysz <43t4@vbr.pl> User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.15) Gecko/20101027 Thunderbird/3.0.10 MIME-Version: 1.0 Newsgroups: pl.comp.lang.python Subject: [jak zdefiniować zmienną globalną] Lines: 66 Message-ID: <4ced9255$0$22814$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.24.34.141 X-Trace: 1290637909 unt-rea-b-01.news.neostrada.pl 22814 83.24.34.141:60460 X-Complaints-To: abuse@news.neostrada.pl Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit