Portál AbcLinuxu, 19. dubna 2024 00:56


Dotaz: Python - chyba fce os.getlogin()

14.10.2005 07:20 trancelius | skóre: 22
Python - chyba fce os.getlogin()
Přečteno: 94×
Odpovědět | Admin
>>> os.getlogin()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
OSError: [Errno 2] No such file or directory
ještě dodám že jde o Python 2.4 ... nevíte co s tím ?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

14.10.2005 08:17 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Python - chyba fce os.getlogin()
Odpovědět | | Sbalit | Link | Blokovat | Admin
To je divné, mohu jen říct, že mě to funguje (python 2.4.1). Nejsou nějaké problémy s /etc/passwd? Pomohlo by ti místo toho
os.environ["USER"]
?
Nebo ještě lépe zjistit svoje ID a pak použít
pwd.getpwuid(uid).pw_name
14.10.2005 08:27 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: Python - chyba fce os.getlogin()
Pusť na to strace, třeba něco odhalí. A ještě zkusím víc rozepsat tu druhou možnost:
import pwd, os
pwd.getpwuid(os.geteuid()).pw_name
14.10.2005 16:06 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Python - chyba fce os.getlogin()
Nevím, co ta funkce getlogin dělá, ale u mě se snaží číst /var/run/utmp. Navíc se ho nejdřív pokouší otevřít s O_RDWR (a až když to nejde, tak s O_READONLY), což mě trochu vyděsilo.
14.10.2005 16:41 trancelius | skóre: 22
Rozbalit Rozbalit vše Re: Python - chyba fce os.getlogin()
Odpovědět | | Sbalit | Link | Blokovat | Admin
K onomu problému dochází, když jsem sshnutej na vzdálenej stroj a pracuji tam ve screenu - možná to nějak souvisí s login/non-login shellem ?
14.10.2005 17:07 azurIt | skóre: 34 | blog: zatial_bez_mena
Rozbalit Rozbalit vše Re: Python - chyba fce os.getlogin()
logol som sa na vzdialenu masinu, pustil screen a:

azurit@eniac:~$ python
Python 2.4 (#1, Dec 1 2004, 09:56:22)
[GCC 3.2.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import os
>>> os.getlogin()
'azurit'
>>>

asi to nebude chyba v pythone :)
14.10.2005 17:23 trancelius | skóre: 22
Rozbalit Rozbalit vše Re: Python - chyba fce os.getlogin()
Je to ssh přes 2 hopy (gateway a mosix distribuční uzel na patře), login na proxy, ssh na uzel, z uzlu do cíle, ale to by nemělo mít žádnej vliv... zatím to prostě řeším tak, že když chci ten program použít (správce projektu), tak vyskočím ze screenu ...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.