py2exe problem with os.path
Tom
tom at peresys.co.za
Thu Jun 7 17:36:23 EDT 2001
I have the following program to count lines in python:
'''
count number of lines in source files
'''
import os,sys,fnmatch
total=0
fileinfo=[]
exts=[]
for param in sys.argv:
if param[:2]=='*.':
exts.append(param)
subdir=0
for param in sys.argv:
if param.lower()=='-r':
subdir=1
break
def Stat(file):
lines = open(file).readlines()
result=len(lines)
return result
def DirInfo(dirpath='./',subdir=1):
global total,fileinfo,exts
files=os.listdir(dirpath)
files.sort()
for file in files:
if os.path.isfile(dirpath+file): # Problem line 35
for ext in exts:
if fnmatch.fnmatch(file,ext):
size=Stat(dirpath+file)
total+=size
fileinfo.append((os.path.abspath(dirpath+file),size))
if subdir and os.path.isdir(dirpath+file):
DirInfo(dirpath+file+'/')
DirInfo(subdir=subdir)
fileinfo.sort(lambda x,y:cmp(y[1],x[1]))
print '-'*79
for (file,size) in fileinfo:
print file.ljust(70),str(size).rjust(8)
print '-'*79
print 'TOTAL Lines:'.ljust(70),str(total).rjust(8)
When using py2exe it builds fine but when running exe i get:
Traceback (most recent call last):
File "<string>", line 4, in ?
File "imputil.pyc", line 88, in _import_hook
File "<string>", line 43, in _import_top_module
File "imputil.pyc", line 197, in import_top
File "imputil.pyc", line 252, in _import_one
File "<string>", line 118, in _process_result
File "os.pyc", line 52, in ?
File "imputil.pyc", line 88, in _import_hook
File "<string>", line 43, in _import_top_module
File "imputil.pyc", line 197, in import_top
File "imputil.pyc", line 252, in _import_one
File "<string>", line 118, in _process_result
File "ntpath.pyc", line 9, in ?
File "imputil.pyc", line 88, in _import_hook
File "<string>", line 43, in _import_top_module
File "imputil.pyc", line 197, in import_top
File "imputil.pyc", line 252, in _import_one
File "<string>", line 118, in _process_result
File "stat.pyc", line 44, in ?
File "stat.pyc", line 35, in DirInfo
AttributeError: path
What is wrong ?
More information about the Python-list
mailing list