def fd_by_path(paths):
 stats = set()
 for path in paths:
  try:
   fd = os.open(path, os.O_RDONLY)
  except OSError:
   continue
  try:
   stats.add(os.fstat(fd)[1:3])
  finally:
   os.close(fd)
 def fd_in_stats(fd):
  try:
   return (os.fstat(fd)[1:3] in stats)
  except OSError:
   return False
 return [_fd for _fd in range(get_fdmax(2048)) if fd_in_stats(_fd)]

def fd_by_path ( paths ) : stats = set ( ) for path in paths : try : fd = os . open ( path , os . O_RDONLY ) except OSError : continue try : stats . add ( os . fstat ( fd ) [ 1 : 3 ] ) finally : os . close ( fd ) def fd_in_stats ( fd ) : try : return ( os . fstat ( fd ) [ 1 : 3 ] in stats ) except OSError : return False return [ _fd for _fd in range ( get_fdmax ( 2048 ) ) if fd_in_stats ( _fd ) ]
return a list of file descriptors .