Помогите разобраться плз
Ковыряю модуль csv
Запускаю тестовую программку,
запустил в директории с csv файлом, а оно мне ругается:
Посмотрел - стандартный csv модуль в Python 2.4 у меня есть.
Попробовал запустить этот же скрипт из c:\Python24:
C:\Python24>python.exe readcsv.py
Заработало.
Вопрос - чего ему не хватает при запуске из другой директории?
Задампил sys.path для обоих случаев:
Т.е. разница только в дополнительной пути C:\workspace\parser при запуске из директории скрипта.
Как заставить скрипт работать из произвольной папки? Куда еще смотреть?
Update Разобрался. В папке скрипта был файл с именем csv.py, который загружался вместо стандартного модуля 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.6 C:\Python24\lib\site-packages\turbogears-1.0 C:\Python24\lib\site-packages\sqlobject-0.7.2-p C:\Python24\lib\site-packages\nose-0.9.1-p C:\Python24\lib\site-packages\configobj-4.3.2-p C:\Python24\lib\site-packages\ruledispat C:\Python24\lib\site-packages\formencode-0.6-p C:\Python24\lib\site-packages\celementtr C:\Python24\lib\site-packages\pastescrip C:\Python24\lib\site-packages\elementtre C:\Python24\lib\site-packages\simplejson-1.4-p C:\Python24\lib\site-packages\cherrypy-2.2.1-p C:\Python24\lib\site-packages\turbokid-0.9.9-p C:\Python24\lib\site-packages\turbocheet C:\Python24\lib\site-packages\turbojson-0.9.9-p C:\Python24\lib\site-packages\pyprotocol C:\Python24\lib\site-packages\cheetah-2.0 C:\Python24\lib\site-packages\pastedeplo C:\Python24\lib\site-packages\paste-1.0-p C:\Python24\lib\site-packages\kid-0.9.4-p 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-a |
c:\python24\lib\site-packages\setuptools-0.6 c:\python24\lib\site-packages\turbogears-1.0 c:\python24\lib\site-packages\sqlobject-0.7.2-p c:\python24\lib\site-packages\nose-0.9.1-p c:\python24\lib\site-packages\configobj-4.3.2-p c:\python24\lib\site-packages\ruledispat c:\python24\lib\site-packages\formencode-0.6-p c:\python24\lib\site-packages\celementtr c:\python24\lib\site-packages\pastescrip c:\python24\lib\site-packages\elementtre c:\python24\lib\site-packages\simplejson-1.4-p c:\python24\lib\site-packages\cherrypy-2.2.1-p c:\python24\lib\site-packages\turbokid-0.9.9-p c:\python24\lib\site-packages\turbocheet c:\python24\lib\site-packages\turbojson-0.9.9-p c:\python24\lib\site-packages\pyprotocol c:\python24\lib\site-packages\cheetah-2.0 c:\python24\lib\site-packages\pastedeplo c:\python24\lib\site-packages\paste-1.0-p c:\python24\lib\site-packages\kid-0.9.4-p 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-a C:\workspace\parser |
Т.е. разница только в дополнительной пути C:\workspace\parser при запуске из директории скрипта.
Как заставить скрипт работать из произвольной папки? Куда еще смотреть?
Update Разобрался. В папке скрипта был файл с именем csv.py, который загружался вместо стандартного модуля csv
