mod_python在使用open()时未检测到文件
我正在尝试打开/var/www/目录中名为cardlist.xml的文件。 这是我正在使用的代码mod_python在使用open()时未检测到文件,python,apache2,mod-python,Python,Apache2,Mod Python,我正在尝试打开/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” 位置:无目录
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”路径信息:
“/crawlXml” 阶段:“PythonHandler” 处理程序:“mod_python.publisher” 回溯(最近一次呼叫最后一次): 文件 “/usr/lib/python2.6/dist packages/mod_python/importer.py”, 第1537行,在HandlerDispatch中 default=default\u处理程序,arg=req,silent=hlist.silent) 文件 “/usr/lib/python2.6/dist packages/mod_python/importer.py”, 第1229行,过程中目标 结果=_执行_目标(配置、请求、对象、参数) 文件 “/usr/lib/python2.6/dist packages/mod_python/importer.py”, 第1128行,在_执行_目标中 结果=对象(arg) 文件 “/usr/lib/python2.6/dist packages/mod_python/publisher.py”, 第204行,在处理程序中 模块=页面缓存[req] 文件 “/usr/lib/python2.6/dist packages/mod_python/importer.py”, 第1059行,在getitem 返回导入模块(请求文件名) 文件 “/usr/lib/python2.6/dist packages/mod_python/importer.py”, 第296行,在导入模块中 日志,导入(路径) 文件 “/usr/lib/python2.6/dist packages/mod_python/importer.py”, 第680行,在导入模块中 execfile(文件,模块.dict) 文件“/var/www/test.py”,第4行,在 打开(“./cardlist.xml”、“r”) IOError:[Errno 2]没有此类文件或 目录:'./cardlist.xml' 模块缓存详细信息 访问时间:Sun Feb 14 16:59:58 2010代:19 _mp_27cc55c5447f9e0aa13691719290c225{文件名:'/var/www/test.py'
实例:85[重新加载]
生成:19[错误]已修改:
2010年2月14日星期日16:40:17导入:
太阳2010年2月14日16:22:38} 这是ls-la在测试中的结果 /var/www/directory drwxr-xr-x 3 root 根40962010-02-1416: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 test.py~
有人知道出了什么问题吗?工作目录可能不是文件的目录。尝试使用绝对路径或显式相对路径:
import os.path
open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'cardlist.xml'))
工作目录可能不是文件的目录。尝试使用绝对路径或显式相对路径:
import os.path
open(os.path.join(os.path.dirname(os.path.abspath(__file__)), 'cardlist.xml'))
1.你试过绝对路径吗?2.
os.path.abspath('./cardlist.xml')
返回什么?os.path.abspath('./cardlist.xml')返回/cardlist.xml我不确定这是什么“绝对路径”/var/www/cardlist.xml?1。你试过绝对路径吗?2.os.path.abspath('./cardlist.xml')
返回什么?os.path.abspath('./cardlist.xml')返回/cardlist.xml我不确定这是什么“绝对路径”/var/www/cardlist.xml?