0

我正在尝试打开我的 /var/www/ 目录中名为 cardlist.xml 的文件。这是我正在使用的代码。

import cgi
import os
open("./cardlist.xml", "r")
def crawlXml():
    return 0

我的错误是

MOD_PYTHON 错误

ProcessId:11361 解释器:
'127.0.1.1'

服务器名:'127.0.1.1' DocumentRoot:'/var/www'

URI:'/test.py/crawlXml' 位置:无 目录:
'/var/www/' 文件名:'/var/www/ test.py
' PathInfo:
'/crawlXml'

阶段:'PythonHandler' 处理程序:'mod_python.publisher'

回溯(最近一次通话最后):

文件“/usr/lib/python2.6/dist-packages/mod_python/importer.py”,第 1537 行,在 HandlerDispatch 默认=default_handler,arg=req,silent=hlist.silent)

文件“/usr/lib/python2.6/dist-packages/mod_python/importer.py”,第 1229 行,在 _process_target 结果 = _execute_target(config, req, object, arg)

_execute_target 结果 = object(arg) 中的文件“/usr/lib/python2.6/dist-packages/mod_python/importer.py”,第 1128 行

处理程序模块 = page_cache[req] 中的文件“/usr/lib/python2.6/dist-packages/mod_python/publisher.py”,第 204 行

文件“/usr/lib/python2.6/dist-packages/mod_python/importer.py”,第 1059 行,在getitem return import_module(req.filename)

文件“/usr/lib/python2.6/dist-packages/mod_python/importer.py”,第 296 行,在 import_module 日志中,import_path)

文件“/usr/lib/python2.6/dist-packages/mod_python/importer.py”,第 680 行,在 import_module execfile(file, module.dict )中

文件“/var/www/test.py”,第 4 行,在 open("./cardlist.xml", "r")

IOError:[Errno 2] 没有这样的文件或目录:'./cardlist.xml'

模块缓存详细信息

访问时间:2010 年 2 月 14 日星期日 16:59:58 代:19

_mp_27cc55c5447f9e0aa13691719290c225 { FileName: '/var/www/test.py'
Instance: 85 [RELOAD]
Generation: 19 [ERROR] Modified:
Sun Feb 14 16:40:17 2010 Imported:
Sun Feb 14 16:22:38 2010 }

这是 ls -la 在

/var/www/ 目录 drwxr-xr-x 3 root root 4096 2010-02-14 16:40 。drwxr-xr-x 16 根 4096 2010-02-14 15:05 .. -rwxr-xr-x 1 根 4612891 2010-01-30 16:39 cardlist.xml drwxrwx--- 3 根 4096 2010- 02-14 14:31 mtg -rw-r--r-- 1 根根 110 2010-02-14 16:40 test.py -rw-r--r-- 1 根根 111 2010-02-14 16 :32 测试.py~

有谁知道出了什么问题?

4

1 回答 1

3

工作目录可能不是文件的目录。尝试使用绝对路径或显式相对路径:

import os.path
open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'cardlist.xml'))
于 2010-02-14T22:27:16.677 回答