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'

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、ハンドラーモジュール= 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ログ、import_path)

import_module execfile(file、module .dict)のファイル "/usr/lib/python2.6/dist-packages/mod_python/importer.py"、行680

ファイル"/var/www/test.py"、4行目、open( "./ cardlist.xml"、 "r")

IOError:[Errno 2]そのようなファイルまたはディレクトリはありません:'./cardlist.xml'

モジュールキャッシュの詳細

アクセス:日曜日2月14日16:59:58 2010世代:19

_mp_27cc55c5447f9e0aa13691719290c225 {ファイル名:'/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-x3root root 40962010-02-1416:40。drwxr-xr-x16ルートルート40962010-02-1415:05 ..-rwxr-xr-x1ルートルート46128912010-01-3016:39 cardlist.xml drwxrwx---3ルートルート40962010- 02-14 14:31 mtg-rw-r--r--1ルートルート1102010-02-1416:40 test.py-rw-r--r--1ルートルート1112010-02-1416 :32 test.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 に答える