我正在尝试在名为cardlist.xml的/ var / www /目录中打开一个文件。 这是我正在使用的代码。
import cgi
import os
open("./cardlist.xml", "r")
def crawlXml():
return 0
我的错误是
MOD_PYTHON ERROR
ProcessId:11361口译员:
'127.0.1.1'ServerName:'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 = default_handler,arg = req,silent = hlist.silent)
文件 “/usr/lib/python2.6/dist-packages/mod_python/importer.py” 第1229行,在_process_target中 result = _execute_target(config,req,object,arg)
文件 “/usr/lib/python2.6/dist-packages/mod_python/importer.py” 第1128行,在_execute_target中 result = object(arg)
文件 “/usr/lib/python2.6/dist-packages/mod_python/publisher.py” 第204行,处理程序 module = page_cache [req]
文件 “/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中 log,import_path)
文件 “/usr/lib/python2.6/dist-packages/mod_python/importer.py” 第680行,在import_module中 execfile(文件,模块。 dict )
文件“/var/www/test.py”,第4行,in 打开(“./ cardlist.xml”,“r”)
IOError:[Errno 2]没有这样的文件或 目录:'。/ cardlist.xml'
MODULE CACHE DETAILS
访问:Sun Feb 14 16:59:58 2010年代:19
_mp_27cc55c5447f9e0aa13691719290c225 {FileName:'/ var / www / test.py'
实例:85 [RELOAD]
代:19 [错误]修改:
Sun Feb 14 16:40:17 2010进口:
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 root root 4096 2010-02-14 15:05 .. -rwxr-xr-x 1 root root 4612891 2010-01-30 16:39 cardlist.xml drwxrwx --- 3根root 4096 2010-02-14 14:31 mtg -rw-r - r-- 1 root root 110 2010-02-14 16:40 test.py -rw-r - r-- 1 root root 111 2010-02-14 16:32 test.py~
有谁知道出了什么问题?
答案 0 :(得分:3)
工作目录可能不是文件的目录。尝试使用绝对路径或显式相对路径:
import os.path
open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'cardlist.xml'))