Thread View: pl.comp.lang.python
4 messages
4 total messages
Started by Paweł
Wed, 22 Dec 2010 10:08
[ Arcgis] Jak zdefiniować zmienną globalną ?
Author: Paweł
Date: Wed, 22 Dec 2010 10:08
Date: Wed, 22 Dec 2010 10:08
36 lines
2272 bytes
2272 bytes
Witam
Chciałbym się zapytać czy ktoś wie jak można uzyskać (odczytać) wartość
zmiennych użytych jako parametr dla narzędzia Arcgis ? Poniższy skrypt
wyszukuje w tabelce atrybutów, duplikaty. Zmienne n0 i n1 zwracają po
zakończeniu skryptu wartość 0 zamiast np. 15 w związku z tym ostatnia
instrukcja if nie działa prawidłowo ? Co robię źle lub czego brakuje w tym
kodzie ?
n0 = 0
n1 = 0 #liczba znalezionych duplikatów
codeblock = "uniqueList = []\n\
def isDuplicate(inValue):\n\
if inValue in uniqueList:\n\
return 1\n\
n1=n1+1\n\
else:\n\
uniqueList.append(inValue)\n\
return 0\n\
n0=n0+1"
expression1= "isDuplicate(!ID_DZ!)"
gp.CalculateField_management(Output_Dataset, name_dfield, expression1,
"PYTHON", codeblock)
if n1 > 0:
gp.AddMessage ("Znaleziono " +str(n1)+ " duplikat(-ów).")
gp.AddMessage ("Dodano informację o duplikatach(1) lub ich braku(0) w
nowym polu: "+str(name_dfield)+".")
print gp.getmessages(3)
else:
gp.AddMessage ("Brak obiektów o zduplikowanych atrybutach we wskazanej
warstwie."+" n1="+str(n1)+", n0="+str(n0))
print gp.getmessages(4)
Re: [ Arcgis] Jak zdefiniować zmienną globalną ?
Author: Paweł
Date: Thu, 23 Dec 2010 08:12
Date: Thu, 23 Dec 2010 08:12
16 lines
1823 bytes
1823 bytes
Użytkownik "Paweł" <gamacdur@op.pl> napisał w wiadomości news:4d11cf35$0$2495$65785112@news.neostrada.pl... > Witam > > Chciałbym się zapytać czy ktoś wie jak można uzyskać (odczytać) wartość > zmiennych użytych jako parametr dla narzędzia Arcgis ? Poniższy skrypt > wyszukuje w tabelce atrybutów, duplikaty. Zmienne n0 i n1 zwracają po > zakończeniu skryptu wartość 0 zamiast np. 15 w związku z tym ostatnia > instrukcja if nie działa prawidłowo ? Co robię źle lub czego brakuje w tym > kodzie ? > [...] > Zapytam inaczej jak przypisać wartość zmiennej globalnej ze zmiennej lokalnej ?
Re: [ Arcgis] Jak zdefiniowa? zmienn? globaln? ?
Author: Adam Przybyla
Date: Thu, 23 Dec 2010 11:51
Date: Thu, 23 Dec 2010 11:51
35 lines
1873 bytes
1873 bytes
"Pawe?" <gamacdur@op.pl> wrote:
>
> U?ytkownik "Pawe?" <gamacdur@op.pl> napisa? w wiadomo?ci
> news:4d11cf35$0$2495$65785112@news.neostrada.pl...
>> Witam
>>
>> Chcia?bym si? zapyta? czy kto? wie jak mo?na uzyska? (odczyta?) warto??
>> zmiennych u?ytych jako parametr dla narz?dzia Arcgis ? Poni?szy skrypt
>> wyszukuje w tabelce atrybut?w, duplikaty. Zmienne n0 i n1 zwracaj? po
>> zako?czeniu skryptu warto?? 0 zamiast np. 15 w zwi?zku z tym ostatnia
>> instrukcja if nie dzia?a prawid?owo ? Co robi? ?le lub czego brakuje w tym
>> kodzie ?
>>
> [...]
>>
> Zapytam inaczej jak przypisa? warto?? zmiennej globalnej ze zmiennej
> lokalnej ?
... tak niegrzecznie:
smtp:/home/adam>python xx
0
1
smtp:/home/adam>cat xx
def z(x):
x[0]=1
y=[0]
print y[0]
z(y)
print y[0]
smtp:/home/adam>
A grzecznie to uzyj slowa kluczowego "global":
http://www.wellho.net/resources/ex.php4?item=y105/locvar.py
Z powazaniem
Adam Przybyla
Re: [ Arcgis] Jak zdefiniowa? zmienn? globaln? ?
Author: Paweł
Date: Mon, 27 Dec 2010 09:14
Date: Mon, 27 Dec 2010 09:14
39 lines
2332 bytes
2332 bytes
Użytkownik "Adam Przybyla" <adam@rybnik.pl> napisał w wiadomości news:ievd3t$64k$1@polsl.pl... > "Pawe?" <gamacdur@op.pl> wrote: > > > > U?ytkownik "Pawe?" <gamacdur@op.pl> napisa? w wiadomo?ci > > news:4d11cf35$0$2495$65785112@news.neostrada.pl... > >> Witam > >> > >> Chcia?bym si? zapyta? czy kto? wie jak mo?na uzyska? (odczyta?) warto?? > >> zmiennych u?ytych jako parametr dla narz?dzia Arcgis ? Poni?szy skrypt > >> wyszukuje w tabelce atrybut?w, duplikaty. Zmienne n0 i n1 zwracaj? po > >> zako?czeniu skryptu warto?? 0 zamiast np. 15 w zwi?zku z tym ostatnia > >> instrukcja if nie dzia?a prawid?owo ? Co robi? ?le lub czego brakuje w tym > >> kodzie ? > >> > > [...] > >> > > Zapytam inaczej jak przypisa? warto?? zmiennej globalnej ze zmiennej > > lokalnej ? > ... tak niegrzecznie: [...] > smtp:/home/adam>cat xx > def z(x): > x[0]=1 > > y=[0] > print y[0] > z(y) > print y[0] > smtp:/home/adam> > > A grzecznie to uzyj slowa kluczowego "global": > http://www.wellho.net/resources/ex.php4?item=y105/locvar.py > Z powazaniem > Adam Przybyla W pythonie oczywiście wszystko to działa ale w skryptach już niestety nie :(
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads