"Westbrook, Christopher L (WESTBCL04)" <[EMAIL PROTECTED]> wrote: > >I am having some trouble, and I can't figure out why.
... >form = cgi.FieldStorage() >print "Content-type:text/html\n\n"; >filename = form["file"].value+".txt" #all files end in .txt extension > >filename = filename.replace("\\","\\\\") This line is incorrect. Backslashes are only treated as escape characters when they are LITERAL strings in a Python source file. When you're reading a filename from some outside source like this, the string will already contain the correct characters. What you'll end up with is literally double backslashes. For example, if you read a variable containing c:\tmp\new.txt, you will end up with c:\\tmp\\new.txt, AS IF you had given the literal string "c:\\\\tmp\\\\new.txt". Fortunately, most Win32 APIs will ignore double-backslashes, but it isn't right. And, they are guaranteed not to work if they are the first characters of the filename. >#print filename > >f = file(filename,'\r') #open file for reading Where did you get that? \r is a carriage return. You need a letter "r": f = file(filename, 'r') -- - Tim Roberts, [EMAIL PROTECTED] Providenza & Boekelheide, Inc. -- http://mail.python.org/mailman/listinfo/python-list