Image

Imagevvlad wrote in Imageru_python

Помогите разобраться плз

Ковыряю модуль csv
Запускаю тестовую программку,
import csv, sys

filename = "datafeed-out.196888121.csv"
reader = csv.reader(open(filename, "rb"))
try:
    for row in reader:
        print row
except csv.Error, e:
    sys.exit('file %s, line %d: %s' % (filename, reader.line_num, e))

запустил в директории с csv файлом, а оно мне ругается:

C:\workspace\parser>c:\Python24\python readcsv.py
Traceback (most recent call last):
  File "readcsv.py", line 4, in ?
    reader = csv.reader(open(filename, "rb"))
AttributeError: 'module' object has no attribute 'reader'

Посмотрел - стандартный csv модуль в Python 2.4 у меня есть.
Попробовал запустить этот же скрипт из c:\Python24:
C:\Python24>python.exe readcsv.py
Заработало.
Вопрос - чего ему не хватает при запуске из другой директории?
Задампил sys.path для обоих случаев:

C:\Python24\lib\site-packages\setuptools-0.6c3-py2.4.egg
C:\Python24\lib\site-packages\turbogears-1.0b2-py2.4.egg
C:\Python24\lib\site-packages\sqlobject-0.7.2-py2.4.egg
C:\Python24\lib\site-packages\nose-0.9.1-py2.4.egg
C:\Python24\lib\site-packages\configobj-4.3.2-py2.4.egg
C:\Python24\lib\site-packages\ruledispatch-0.5a0.dev_r2115-py2.4-win32.egg
C:\Python24\lib\site-packages\formencode-0.6-py2.4.egg
C:\Python24\lib\site-packages\celementtree-1.0.5_20051216-py2.4-win32.egg
C:\Python24\lib\site-packages\pastescript-1.0-py2.4.egg
C:\Python24\lib\site-packages\elementtree-1.2.6_20050316-py2.4-win32.egg
C:\Python24\lib\site-packages\simplejson-1.4-py2.4.egg
C:\Python24\lib\site-packages\cherrypy-2.2.1-py2.4.egg
C:\Python24\lib\site-packages\turbokid-0.9.9-py2.4.egg
C:\Python24\lib\site-packages\turbocheetah-0.9.5-py2.4.egg
C:\Python24\lib\site-packages\turbojson-0.9.9-py2.4.egg
C:\Python24\lib\site-packages\pyprotocols-1.0a0dev_r2082-py2.4-win32.egg
C:\Python24\lib\site-packages\cheetah-2.0rc7-py2.4.egg
C:\Python24\lib\site-packages\pastedeploy-1.0-py2.4.egg
C:\Python24\lib\site-packages\paste-1.0-py2.4.egg
C:\Python24\lib\site-packages\kid-0.9.4-py2.4.egg
C:\IBMTOOLS\utils\support
C:\IBMTOOLS\utils\logger
C:\WINDOWS\system32\python24.zip
C:\Python24
C:\Python24\DLLs
C:\Python24\lib
C:\Python24\lib\plat-win
C:\Python24\lib\lib-tk
C:\Python24\lib\site-packages
C:\Python24\lib\site-packages\wx-2.8-msw-ansi

c:\python24\lib\site-packages\setuptools-0.6c3-py2.4.egg
c:\python24\lib\site-packages\turbogears-1.0b2-py2.4.egg
c:\python24\lib\site-packages\sqlobject-0.7.2-py2.4.egg
c:\python24\lib\site-packages\nose-0.9.1-py2.4.egg
c:\python24\lib\site-packages\configobj-4.3.2-py2.4.egg
c:\python24\lib\site-packages\ruledispatch-0.5a0.dev_r2115-py2.4-win32.egg
c:\python24\lib\site-packages\formencode-0.6-py2.4.egg
c:\python24\lib\site-packages\celementtree-1.0.5_20051216-py2.4-win32.egg
c:\python24\lib\site-packages\pastescript-1.0-py2.4.egg
c:\python24\lib\site-packages\elementtree-1.2.6_20050316-py2.4-win32.egg
c:\python24\lib\site-packages\simplejson-1.4-py2.4.egg
c:\python24\lib\site-packages\cherrypy-2.2.1-py2.4.egg
c:\python24\lib\site-packages\turbokid-0.9.9-py2.4.egg
c:\python24\lib\site-packages\turbocheetah-0.9.5-py2.4.egg
c:\python24\lib\site-packages\turbojson-0.9.9-py2.4.egg
c:\python24\lib\site-packages\pyprotocols-1.0a0dev_r2082-py2.4-win32.egg
c:\python24\lib\site-packages\cheetah-2.0rc7-py2.4.egg
c:\python24\lib\site-packages\pastedeploy-1.0-py2.4.egg
c:\python24\lib\site-packages\paste-1.0-py2.4.egg
c:\python24\lib\site-packages\kid-0.9.4-py2.4.egg
C:\IBMTOOLS\utils\support
C:\IBMTOOLS\utils\logger
C:\WINDOWS\system32\python24.zip
c:\python24
c:\python24\DLLs
c:\python24\lib
c:\python24\lib\plat-win
c:\python24\lib\lib-tk
c:\python24\lib\site-packages
c:\python24\lib\site-packages\wx-2.8-msw-ansi
C:\workspace\parser

Т.е. разница только в дополнительной пути C:\workspace\parser при запуске из директории скрипта.

Как заставить скрипт работать из произвольной папки? Куда еще смотреть?
Update Разобрался. В папке скрипта был файл с именем csv.py, который загружался вместо стандартного модуля csv