连接到 PostgreSQL 中的 mydb:
mydb=# CREATE FUNCTION file_test () RETURNS text AS $$
if open('mydir/myfile.xsl'): return 'success'
$$ LANGUAGE plpythonu;
CREATE FUNCTION
mydb=# SELECT file_test();
ERROR: IOError: [Errno 2] No such file or directory: 'mydir/myfile.xsl'
CONTEXT: Traceback (most recent call last):
PL/Python function "file_test", line 2, in <module>
if open('mydir/myfile.xsl'): return 'success'
PL/Python function "file_test"
转到 Python:
>>> if open('mydir/myfile.xsl'): print 'success'
...
success
>>>
绝对路径似乎对 PL/Python 没有帮助。我想做的是使用 Postgres 的 query_to_xml() 并在返回时运行 XSLT 转换。但要做到这一点,我需要阅读 xsl 文件......