You should use os.path.exists to test if a file exists. Your exception-catching structure is not necessary.
Also, if the file you are reading from contains proper Windows filenames, it is not necessary to replace \ with \\ and so forth. The \ acts as an escape character only when it is in Python source code, not when it is in a string read from the real world. Also, because you wisely use "for x in inputfiles:" it is not necessary to search for and replace newlines. [EMAIL PROTECTED] wrote: > I have the simplest need...to read a file full of file names(unc) and > then check to see if each of these files exists. I tried with the > following program, but always get file not found, even when it is > there. If I type in the file name as a literal it works... > > Little program: > > #This module checks for file existence > import string > import sys > > def MainProcess(): > > fileList = "c:\a_list_of_filenames.txt" > inputFiles = open(fileList,"r") > > cnt = 0 > cntNotFound = 0 > > for x in inputFiles: > cnt = cnt + 1 > try: > x = x.replace("\\","\\\\") > x = x.replace("\n","") > open(x,"rb") > #open('\\\\myserver\\myshare\\myfile.dat',"r") #works when > hard coded like this > except IOError, (errno, strerror): > print "I/O error(%s): %s" % (errno, strerror) > cntNotFound = cntNotFound + 1 > print x + " Not Found" > except ValueError, (errno,strerror): > print "Some other error! " + str(errno) + " " + strerror > else: > print "Found " + x > > print str(cnt) + " total..." > print str(cntNotFound) + " not found..." > > if __name__ == '__main__': > MainProcess() > > Many thanks to anyone in advance to can tell me what I am doing wrong! > Platform is XP with PythonWin. > > Richard Kessler > [EMAIL PROTECTED] -- http://mail.python.org/mailman/listinfo/python-list