Vega strike Python Modules doc  0.5.1
Documentation of the " Modules " folder of Vega strike
 All Data Structures Namespaces Files Functions Variables
FileInput Class Reference

Public Member Functions

def __init__
 
def __del__
 
def close
 
def __getitem__
 
def nextfile
 
def readline
 
def filename
 
def lineno
 
def filelineno
 
def isfirstline
 
def isstdin
 

Detailed Description

Definition at line 135 of file fileinput.py.

Constructor & Destructor Documentation

def __init__ (   self,
  files = None,
  inplace = 0,
  backup = "",
  bufsize = 0 
)

Definition at line 137 of file fileinput.py.

138  def __init__(self, files=None, inplace=0, backup="", bufsize=0):
139  if type(files) == type(''):
140  files = (files,)
141  else:
142  if files is None:
143  files = sys.argv[1:]
144  if not files:
145  files = ('-',)
146  else:
147  files = tuple(files)
148  self._files = files
149  self._inplace = inplace
150  self._backup = backup
151  self._bufsize = bufsize or DEFAULT_BUFSIZE
152  self._savestdout = None
153  self._output = None
154  self._filename = None
155  self._lineno = 0
156  self._filelineno = 0
157  self._file = None
158  self._isstdin = 0
159  self._backupfilename = None
160  self._buffer = []
161  self._bufindex = 0
def __del__ (   self)

Definition at line 162 of file fileinput.py.

163  def __del__(self):
164  self.close()

Member Function Documentation

def __getitem__ (   self,
  i 
)

Definition at line 169 of file fileinput.py.

170  def __getitem__(self, i):
171  try:
172  line = self._buffer[self._bufindex]
173  except IndexError:
174  pass
175  else:
176  self._bufindex += 1
177  self._lineno += 1
178  self._filelineno += 1
179  return line
180  if i != self._lineno:
181  raise RuntimeError, "accessing lines out of order"
182  line = self.readline()
183  if not line:
184  raise IndexError, "end of input reached"
185  return line
def close (   self)

Definition at line 165 of file fileinput.py.

166  def close(self):
167  self.nextfile()
168  self._files = ()
def filelineno (   self)

Definition at line 275 of file fileinput.py.

References FileInput._filelineno.

276  def filelineno(self):
277  return self._filelineno
def filename (   self)

Definition at line 269 of file fileinput.py.

References FileInput._filename.

270  def filename(self):
271  return self._filename
def isfirstline (   self)

Definition at line 278 of file fileinput.py.

References FileInput._filelineno.

279  def isfirstline(self):
280  return self._filelineno == 1
def isstdin (   self)

Definition at line 281 of file fileinput.py.

References FileInput._isstdin, FileInput.filelineno(), FileInput.filename(), getopt.getopt(), fileinput.input(), FileInput.isfirstline(), and FileInput.lineno().

282  def isstdin(self):
283  return self._isstdin
def lineno (   self)

Definition at line 272 of file fileinput.py.

References FileInput._lineno.

273  def lineno(self):
274  return self._lineno
def nextfile (   self)

Definition at line 186 of file fileinput.py.

187  def nextfile(self):
188  savestdout = self._savestdout
189  self._savestdout = 0
190  if savestdout:
191  sys.stdout = savestdout
192 
193  output = self._output
194  self._output = 0
195  if output:
196  output.close()
197 
198  file = self._file
199  self._file = 0
200  if file and not self._isstdin:
201  file.close()
202 
203  backupfilename = self._backupfilename
204  self._backupfilename = 0
205  if backupfilename and not self._backup:
206  try: os.unlink(backupfilename)
207  except: pass
208 
209  self._isstdin = 0
210  self._buffer = []
211  self._bufindex = 0
def readline (   self)

Definition at line 212 of file fileinput.py.

References FileInput._buffer, FileInput._bufindex, FileInput._bufsize, FileInput._file, Aifc_read._file, Aifc_write._file, FileInput._filename, FileInput._output, FileInput._savestdout, FileInput.nextfile(), aifc.open(), FileInput.readline(), StreamReader.readline(), StreamReaderWriter.readline(), StreamRecoder.readline(), Unpickler.readline, and addbase.readline.

213  def readline(self):
214  try:
215  line = self._buffer[self._bufindex]
216  except IndexError:
217  pass
218  else:
219  self._bufindex += 1
220  self._lineno += 1
221  self._filelineno += 1
222  return line
223  if not self._file:
224  if not self._files:
225  return ""
226  self._filename = self._files[0]
227  self._files = self._files[1:]
228  self._filelineno = 0
229  self._file = None
230  self._isstdin = 0
231  self._backupfilename = 0
232  if self._filename == '-':
233  self._filename = '<stdin>'
234  self._file = sys.stdin
235  self._isstdin = 1
236  else:
237  if self._inplace:
238  self._backupfilename = (
239  self._filename + (self._backup or os.extsep+"bak"))
240  try: os.unlink(self._backupfilename)
241  except os.error: pass
242  # The next few lines may raise IOError
243  os.rename(self._filename, self._backupfilename)
244  self._file = open(self._backupfilename, "r")
245  try:
246  perm = os.fstat(self._file.fileno())[stat.ST_MODE]
247  except:
248  self._output = open(self._filename, "w")
249  else:
250  fd = os.open(self._filename,
251  os.O_CREAT | os.O_WRONLY | os.O_TRUNC,
252  perm)
253  self._output = os.fdopen(fd, "w")
254  try:
255  os.chmod(self._filename, perm)
256  except:
257  pass
258  self._savestdout = sys.stdout
259  sys.stdout = self._output
260  else:
261  # This may raise IOError
262  self._file = open(self._filename, "r")
263  self._buffer = self._file.readlines(self._bufsize)
264  self._bufindex = 0
265  if not self._buffer:
266  self.nextfile()
267  # Recursive call
268  return self.readline()

The documentation for this class was generated from the following file: