Re: Problem with plpython
От | Justin Pasher |
---|---|
Тема | Re: Problem with plpython |
Дата | |
Msg-id | 4AEB6A2C.2040903@newmediagateway.com обсуждение исходный текст |
Ответ на | Problem with plpython (Steve Erickson <serickson@digitiliti.com>) |
Список | pgsql-general |
Steve Erickson wrote: > I'm running PostgreSQL 8.3 with pl/python 8.3. I am getting a > different date/time format when executing the below examples. The > results are the same whether I use os.popen or os.system. In > plpython, I run: > import os > cmd = 'ls -al /var/log/messages > /var/tmp/log' > x = os.popen(cmd) > for aline in x.readlines(): > plpy.notice('aline = %s', aline) > > and the contents of /var/tmp/log are "-rw-r----- 1 syslog adm 495523 > Oct 30 11:52 /var/log/messages > > When, within Python, I run: > >>> cmd = 'ls -al /var/log/messages > /var/tmp/log' > >>> x = os.popen(cmd) > >>> for aline in x.readlines(): > ... print aline > > the contents of /var/tmp/log are "-rw-r----- 1 syslog adm 23591 > 2009-10-30 13:03 /var/log/messages > > How, using plpython, can I get the output date/time in the same format > as when executing from within python itself? Different locale settings will produce different formatting for the ls command. For example... [justinp@justinp /tmp/test]$ LANG=en_US.UTF-8 ls -l total 0 -rw-rw-r-- 1 justinp justinp 0 2009-10-30 17:32 aa -rw-rw-r-- 1 justinp justinp 0 2009-10-30 17:32 bb -rw-rw-r-- 1 justinp justinp 0 2009-10-30 17:32 cc [justinp@justinp /tmp/test]$ LANG=C ls -l total 0 -rw-rw-r-- 1 justinp justinp 0 Oct 30 17:32 aa -rw-rw-r-- 1 justinp justinp 0 Oct 30 17:32 bb -rw-rw-r-- 1 justinp justinp 0 Oct 30 17:32 cc It seems to me that you can just override the LANG variable directly in your call to ls, since it's just running a shell command. -- Justin Pasher
В списке pgsql-general по дате отправления: