[EMAIL PROTECTED] wrote: > follow the dive into python > ----------------------------------------------------------------- >>>> import sys >>>> sys.path >>>> sys.path.append('E \achieve\book\diveintopython-pdfzh-cn-5.4b\diveintopythonzh-cn-5.4b\py') > ----------------------------------------------------------------- > I append the filepath of <<dive into python>>'s examples into > sys.path,but > ----------------------------------------------------------------- >>>> sys.path > ['C:\\Python25\\Lib\\idlelib', 'C:\\WINDOWS\\system32\\python25.zip', > 'C:\\Python25\\DLLs', 'C:\\Python25\\lib', 'C:\\Python25\\lib\\plat- > win', 'C:\\Python25\\lib\\lib-tk', 'C:\\Python25', 'C:\\Python25\\lib\ > \site-packages', 'E:\x07chieve\x08ook\\diveintopython-pdfzh-cn-5.4b\ > \diveintopythonzh-cn-5.4b\\py'] >>>> import fileinfo#fileinfo is a module in the path > > Traceback (most recent call last): > File "<pyshell#5>", line 1, in <module> > import fileinfo > ImportError: No module named fileinfo > > ----------------------------------------------------------------- > Can anyone tell me the reason of the above and how to add paths to > python path except adding them in the enviroment path. > Thanks.
The path you append to sys.path is not properly escaped: >>> "E:\archive" 'E:\x07rchive' # \a has become the single character chr(7) Use double backslashes or raw strings instead: >>> "E:\\archive" 'E:\\archive' >>> r"E:\archive" 'E:\\archive' When you print it the extra backslash will be gone: >>> print "E:\\archive" # \\ is the escape sequence for the backslash E:\archive Peter -- http://mail.python.org/mailman/listinfo/python-list