Current Path: > > lib64 > > python3.8
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
__pycache__ | Directory | - | - | |
asyncio | Directory | - | - | |
collections | Directory | - | - | |
concurrent | Directory | - | - | |
config-3.8-x86_64-linux-gnu | Directory | - | - | |
ctypes | Directory | - | - | |
curses | Directory | - | - | |
dbm | Directory | - | - | |
distutils | Directory | - | - | |
Directory | - | - | ||
encodings | Directory | - | - | |
ensurepip | Directory | - | - | |
html | Directory | - | - | |
http | Directory | - | - | |
importlib | Directory | - | - | |
json | Directory | - | - | |
lib-dynload | Directory | - | - | |
lib2to3 | Directory | - | - | |
logging | Directory | - | - | |
multiprocessing | Directory | - | - | |
pydoc_data | Directory | - | - | |
site-packages | Directory | - | - | |
sqlite3 | Directory | - | - | |
tkinter | Directory | - | - | |
turtledemo | Directory | - | - | |
unittest | Directory | - | - | |
urllib | Directory | - | - | |
venv | Directory | - | - | |
wsgiref | Directory | - | - | |
xml | Directory | - | - | |
xmlrpc | Directory | - | - | |
LICENSE.txt | File | 13937 bytes | June 06 2023 13:32:21. | |
__future__.py | File | 5147 bytes | June 06 2023 13:32:21. | |
__phello__.foo.py | File | 64 bytes | June 06 2023 13:32:21. | |
_bootlocale.py | File | 1801 bytes | June 06 2023 13:32:21. | |
_collections_abc.py | File | 26100 bytes | June 06 2023 13:32:21. | |
_compat_pickle.py | File | 8749 bytes | June 06 2023 13:32:21. | |
_compression.py | File | 5340 bytes | June 06 2023 13:32:21. | |
_dummy_thread.py | File | 6027 bytes | June 06 2023 13:32:21. | |
_markupbase.py | File | 14598 bytes | June 06 2023 13:32:21. | |
_osx_support.py | File | 21774 bytes | June 06 2023 13:32:21. | |
_py_abc.py | File | 6189 bytes | June 06 2023 13:32:21. | |
_pydecimal.py | File | 228666 bytes | June 06 2023 13:32:21. | |
_pyio.py | File | 93177 bytes | June 06 2023 13:32:21. | |
_sitebuiltins.py | File | 3115 bytes | June 06 2023 13:32:21. | |
_strptime.py | File | 25268 bytes | June 06 2023 13:32:21. | |
_sysconfigdata__linux_x86_64-linux-gnu.py | File | 38510 bytes | October 17 2023 18:12:19. | |
_sysconfigdata_d_linux_x86_64-linux-gnu.py | File | 38237 bytes | October 17 2023 18:03:44. | |
_threading_local.py | File | 7220 bytes | June 06 2023 13:32:21. | |
_weakrefset.py | File | 5735 bytes | June 06 2023 13:32:21. | |
abc.py | File | 4489 bytes | June 06 2023 13:32:21. | |
aifc.py | File | 32814 bytes | June 06 2023 13:32:21. | |
antigravity.py | File | 477 bytes | June 06 2023 13:32:21. | |
argparse.py | File | 96015 bytes | June 06 2023 13:32:21. | |
ast.py | File | 19234 bytes | June 06 2023 13:32:21. | |
asynchat.py | File | 11328 bytes | June 06 2023 13:32:21. | |
asyncore.py | File | 20094 bytes | June 06 2023 13:32:21. | |
base64.py | File | 20382 bytes | June 06 2023 13:32:21. | |
bdb.py | File | 32056 bytes | June 06 2023 13:32:21. | |
binhex.py | File | 13954 bytes | June 06 2023 13:32:21. | |
bisect.py | File | 2214 bytes | June 06 2023 13:32:21. | |
bz2.py | File | 12558 bytes | June 06 2023 13:32:21. | |
cProfile.py | File | 7010 bytes | June 06 2023 13:32:21. | |
calendar.py | File | 24832 bytes | June 06 2023 13:32:21. | |
cgi.py | File | 33934 bytes | October 17 2023 18:02:14. | |
cgitb.py | File | 12096 bytes | June 06 2023 13:32:21. | |
chunk.py | File | 5435 bytes | June 06 2023 13:32:21. | |
cmd.py | File | 14860 bytes | June 06 2023 13:32:21. | |
code.py | File | 10622 bytes | June 06 2023 13:32:21. | |
codecs.py | File | 36667 bytes | June 06 2023 13:32:21. | |
codeop.py | File | 6330 bytes | June 06 2023 13:32:21. | |
colorsys.py | File | 4064 bytes | June 06 2023 13:32:21. | |
compileall.py | File | 13678 bytes | June 06 2023 13:32:21. | |
configparser.py | File | 54374 bytes | June 06 2023 13:32:21. | |
contextlib.py | File | 24995 bytes | June 06 2023 13:32:21. | |
contextvars.py | File | 129 bytes | June 06 2023 13:32:21. | |
copy.py | File | 8661 bytes | June 06 2023 13:32:21. | |
copyreg.py | File | 7135 bytes | June 06 2023 13:32:21. | |
crypt.py | File | 3610 bytes | June 06 2023 13:32:21. | |
csv.py | File | 16144 bytes | June 06 2023 13:32:21. | |
dataclasses.py | File | 49973 bytes | June 06 2023 13:32:21. | |
datetime.py | File | 88287 bytes | June 06 2023 13:32:21. | |
decimal.py | File | 320 bytes | June 06 2023 13:32:21. | |
difflib.py | File | 84058 bytes | June 06 2023 13:32:21. | |
dis.py | File | 20570 bytes | June 06 2023 13:32:21. | |
doctest.py | File | 104543 bytes | June 06 2023 13:32:21. | |
dummy_threading.py | File | 2815 bytes | June 06 2023 13:32:21. | |
enum.py | File | 38136 bytes | June 06 2023 13:32:21. | |
filecmp.py | File | 9830 bytes | June 06 2023 13:32:21. | |
fileinput.py | File | 14709 bytes | June 06 2023 13:32:21. | |
fnmatch.py | File | 4079 bytes | June 06 2023 13:32:21. | |
formatter.py | File | 15143 bytes | June 06 2023 13:32:21. | |
fractions.py | File | 24329 bytes | June 06 2023 13:32:21. | |
ftplib.py | File | 35129 bytes | June 06 2023 13:32:21. | |
functools.py | File | 37406 bytes | June 06 2023 13:32:21. | |
genericpath.py | File | 4975 bytes | June 06 2023 13:32:21. | |
getopt.py | File | 7489 bytes | June 06 2023 13:32:21. | |
getpass.py | File | 5994 bytes | June 06 2023 13:32:21. | |
gettext.py | File | 27138 bytes | June 06 2023 13:32:21. | |
glob.py | File | 5697 bytes | June 06 2023 13:32:21. | |
gzip.py | File | 21413 bytes | June 06 2023 13:32:21. | |
hashlib.py | File | 8333 bytes | October 17 2023 18:02:14. | |
heapq.py | File | 22877 bytes | June 06 2023 13:32:21. | |
hmac.py | File | 7850 bytes | October 17 2023 18:02:14. | |
imaplib.py | File | 53606 bytes | June 06 2023 13:32:21. | |
imghdr.py | File | 3808 bytes | June 06 2023 13:32:21. | |
imp.py | File | 10536 bytes | June 06 2023 13:32:21. | |
inspect.py | File | 118550 bytes | June 06 2023 13:32:21. | |
io.py | File | 3541 bytes | June 06 2023 13:32:21. | |
ipaddress.py | File | 71644 bytes | June 06 2023 13:32:21. | |
keyword.py | File | 945 bytes | June 06 2023 13:32:21. | |
linecache.py | File | 5330 bytes | June 06 2023 13:32:21. | |
locale.py | File | 78191 bytes | June 06 2023 13:32:21. | |
lzma.py | File | 12983 bytes | June 06 2023 13:32:21. | |
mailbox.py | File | 78661 bytes | June 06 2023 13:32:21. | |
mailcap.py | File | 9067 bytes | June 06 2023 13:32:21. | |
mimetypes.py | File | 21664 bytes | June 06 2023 13:32:21. | |
modulefinder.py | File | 24430 bytes | June 06 2023 13:32:21. | |
netrc.py | File | 5566 bytes | June 06 2023 13:32:21. | |
nntplib.py | File | 43261 bytes | June 06 2023 13:32:21. | |
ntpath.py | File | 27734 bytes | June 06 2023 13:32:21. | |
nturl2path.py | File | 2887 bytes | June 06 2023 13:32:21. | |
numbers.py | File | 10244 bytes | June 06 2023 13:32:21. | |
opcode.py | File | 5808 bytes | June 06 2023 13:32:21. | |
operator.py | File | 10711 bytes | June 06 2023 13:32:21. | |
optparse.py | File | 60369 bytes | June 06 2023 13:32:21. | |
os.py | File | 38995 bytes | June 06 2023 13:32:21. | |
pathlib.py | File | 52610 bytes | June 06 2023 13:32:21. | |
pdb.py | File | 62738 bytes | June 06 2023 13:32:21. | |
pickle.py | File | 64467 bytes | June 06 2023 13:32:21. | |
pickletools.py | File | 93486 bytes | June 06 2023 13:32:21. | |
pipes.py | File | 8916 bytes | June 06 2023 13:32:21. | |
pkgutil.py | File | 21500 bytes | June 06 2023 13:32:21. | |
platform.py | File | 40425 bytes | June 06 2023 13:32:21. | |
plistlib.py | File | 32220 bytes | June 06 2023 13:32:21. | |
poplib.py | File | 15077 bytes | June 06 2023 13:32:21. | |
posixpath.py | File | 15627 bytes | June 06 2023 13:32:21. | |
pprint.py | File | 21484 bytes | June 06 2023 13:32:21. | |
profile.py | File | 23546 bytes | June 06 2023 13:32:21. | |
pstats.py | File | 27345 bytes | June 06 2023 13:32:21. | |
pty.py | File | 4807 bytes | June 06 2023 13:32:21. | |
py_compile.py | File | 8203 bytes | October 17 2023 18:02:14. | |
pyclbr.py | File | 15255 bytes | June 06 2023 13:32:21. | |
pydoc.py | File | 106700 bytes | October 17 2023 18:12:57. | |
queue.py | File | 11356 bytes | June 06 2023 13:32:21. | |
quopri.py | File | 7252 bytes | June 06 2023 13:32:21. | |
random.py | File | 28802 bytes | June 06 2023 13:32:21. | |
re.py | File | 15861 bytes | June 06 2023 13:32:21. | |
reprlib.py | File | 5267 bytes | June 06 2023 13:32:21. | |
rlcompleter.py | File | 7097 bytes | June 06 2023 13:32:21. | |
runpy.py | File | 12052 bytes | June 06 2023 13:32:21. | |
sched.py | File | 6442 bytes | June 06 2023 13:32:21. | |
secrets.py | File | 2038 bytes | June 06 2023 13:32:21. | |
selectors.py | File | 18561 bytes | June 06 2023 13:32:21. | |
shelve.py | File | 8527 bytes | June 06 2023 13:32:21. | |
shlex.py | File | 13325 bytes | June 06 2023 13:32:21. | |
shutil.py | File | 51761 bytes | June 06 2023 13:32:21. | |
signal.py | File | 2273 bytes | June 06 2023 13:32:21. | |
site.py | File | 21838 bytes | October 17 2023 18:02:14. | |
smtpd.py | File | 34709 bytes | June 06 2023 13:32:21. | |
smtplib.py | File | 45001 bytes | June 06 2023 13:32:21. | |
sndhdr.py | File | 7099 bytes | June 06 2023 13:32:21. | |
socket.py | File | 35243 bytes | June 06 2023 13:32:21. | |
socketserver.py | File | 27296 bytes | June 06 2023 13:32:21. | |
sre_compile.py | File | 26695 bytes | June 06 2023 13:32:21. | |
sre_constants.py | File | 7154 bytes | June 06 2023 13:32:21. | |
sre_parse.py | File | 40230 bytes | June 06 2023 13:32:21. | |
ssl.py | File | 50760 bytes | June 06 2023 13:32:21. | |
stat.py | File | 5485 bytes | June 06 2023 13:32:21. | |
statistics.py | File | 39690 bytes | June 06 2023 13:32:21. | |
string.py | File | 10535 bytes | June 06 2023 13:32:21. | |
stringprep.py | File | 12917 bytes | June 06 2023 13:32:21. | |
struct.py | File | 257 bytes | June 06 2023 13:32:21. | |
subprocess.py | File | 78250 bytes | June 06 2023 13:32:21. | |
sunau.py | File | 18375 bytes | June 06 2023 13:32:21. | |
symbol.py | File | 2109 bytes | October 17 2023 18:04:15. | |
symtable.py | File | 8021 bytes | June 06 2023 13:32:21. | |
sysconfig.py | File | 24896 bytes | October 17 2023 18:12:55. | |
tabnanny.py | File | 11406 bytes | June 06 2023 13:32:21. | |
tarfile.py | File | 106473 bytes | October 17 2023 18:02:14. | |
telnetlib.py | File | 23254 bytes | June 06 2023 13:32:21. | |
tempfile.py | File | 27537 bytes | June 06 2023 13:32:21. | |
textwrap.py | File | 19407 bytes | June 06 2023 13:32:21. | |
this.py | File | 1003 bytes | June 06 2023 13:32:21. | |
threading.py | File | 50820 bytes | June 06 2023 13:32:21. | |
timeit.py | File | 13480 bytes | June 06 2023 13:32:21. | |
token.py | File | 2368 bytes | June 06 2023 13:32:21. | |
tokenize.py | File | 25841 bytes | June 06 2023 13:32:21. | |
trace.py | File | 29870 bytes | June 06 2023 13:32:21. | |
traceback.py | File | 23611 bytes | June 06 2023 13:32:21. | |
tracemalloc.py | File | 17076 bytes | June 06 2023 13:32:21. | |
tty.py | File | 879 bytes | June 06 2023 13:32:21. | |
turtle.py | File | 143716 bytes | June 06 2023 13:32:21. | |
types.py | File | 9713 bytes | June 06 2023 13:32:21. | |
typing.py | File | 68962 bytes | June 06 2023 13:32:21. | |
uu.py | File | 7277 bytes | October 17 2023 18:12:57. | |
uuid.py | File | 30515 bytes | October 17 2023 18:02:14. | |
warnings.py | File | 19688 bytes | June 06 2023 13:32:21. | |
wave.py | File | 18230 bytes | June 06 2023 13:32:21. | |
weakref.py | File | 21387 bytes | June 06 2023 13:32:21. | |
webbrowser.py | File | 24083 bytes | June 06 2023 13:32:21. | |
xdrlib.py | File | 5913 bytes | June 06 2023 13:32:21. | |
zipapp.py | File | 7535 bytes | June 06 2023 13:32:21. | |
zipfile.py | File | 87728 bytes | June 06 2023 13:32:21. | |
zipimport.py | File | 30765 bytes | June 06 2023 13:32:21. |
"""Helper class to quickly write a loop over all standard input files. Typical use is: import fileinput for line in fileinput.input(): process(line) This iterates over the lines of all files listed in sys.argv[1:], defaulting to sys.stdin if the list is empty. If a filename is '-' it is also replaced by sys.stdin and the optional arguments mode and openhook are ignored. To specify an alternative list of filenames, pass it as the argument to input(). A single file name is also allowed. Functions filename(), lineno() return the filename and cumulative line number of the line that has just been read; filelineno() returns its line number in the current file; isfirstline() returns true iff the line just read is the first line of its file; isstdin() returns true iff the line was read from sys.stdin. Function nextfile() closes the current file so that the next iteration will read the first line from the next file (if any); lines not read from the file will not count towards the cumulative line count; the filename is not changed until after the first line of the next file has been read. Function close() closes the sequence. Before any lines have been read, filename() returns None and both line numbers are zero; nextfile() has no effect. After all lines have been read, filename() and the line number functions return the values pertaining to the last line read; nextfile() has no effect. All files are opened in text mode by default, you can override this by setting the mode parameter to input() or FileInput.__init__(). If an I/O error occurs during opening or reading a file, the OSError exception is raised. If sys.stdin is used more than once, the second and further use will return no lines, except perhaps for interactive use, or if it has been explicitly reset (e.g. using sys.stdin.seek(0)). Empty files are opened and immediately closed; the only time their presence in the list of filenames is noticeable at all is when the last file opened is empty. It is possible that the last line of a file doesn't end in a newline character; otherwise lines are returned including the trailing newline. Class FileInput is the implementation; its methods filename(), lineno(), fileline(), isfirstline(), isstdin(), nextfile() and close() correspond to the functions in the module. In addition it has a readline() method which returns the next input line, and a __getitem__() method which implements the sequence behavior. The sequence must be accessed in strictly sequential order; sequence access and readline() cannot be mixed. Optional in-place filtering: if the keyword argument inplace=1 is passed to input() or to the FileInput constructor, the file is moved to a backup file and standard output is directed to the input file. This makes it possible to write a filter that rewrites its input file in place. If the keyword argument backup=".<some extension>" is also given, it specifies the extension for the backup file, and the backup file remains around; by default, the extension is ".bak" and it is deleted when the output file is closed. In-place filtering is disabled when standard input is read. XXX The current implementation does not work for MS-DOS 8+3 filesystems. XXX Possible additions: - optional getopt argument processing - isatty() - read(), read(size), even readlines() """ import sys, os __all__ = ["input", "close", "nextfile", "filename", "lineno", "filelineno", "fileno", "isfirstline", "isstdin", "FileInput", "hook_compressed", "hook_encoded"] _state = None def input(files=None, inplace=False, backup="", *, mode="r", openhook=None): """Return an instance of the FileInput class, which can be iterated. The parameters are passed to the constructor of the FileInput class. The returned instance, in addition to being an iterator, keeps global state for the functions of this module,. """ global _state if _state and _state._file: raise RuntimeError("input() already active") _state = FileInput(files, inplace, backup, mode=mode, openhook=openhook) return _state def close(): """Close the sequence.""" global _state state = _state _state = None if state: state.close() def nextfile(): """ Close the current file so that the next iteration will read the first line from the next file (if any); lines not read from the file will not count towards the cumulative line count. The filename is not changed until after the first line of the next file has been read. Before the first line has been read, this function has no effect; it cannot be used to skip the first file. After the last line of the last file has been read, this function has no effect. """ if not _state: raise RuntimeError("no active input()") return _state.nextfile() def filename(): """ Return the name of the file currently being read. Before the first line has been read, returns None. """ if not _state: raise RuntimeError("no active input()") return _state.filename() def lineno(): """ Return the cumulative line number of the line that has just been read. Before the first line has been read, returns 0. After the last line of the last file has been read, returns the line number of that line. """ if not _state: raise RuntimeError("no active input()") return _state.lineno() def filelineno(): """ Return the line number in the current file. Before the first line has been read, returns 0. After the last line of the last file has been read, returns the line number of that line within the file. """ if not _state: raise RuntimeError("no active input()") return _state.filelineno() def fileno(): """ Return the file number of the current file. When no file is currently opened, returns -1. """ if not _state: raise RuntimeError("no active input()") return _state.fileno() def isfirstline(): """ Returns true the line just read is the first line of its file, otherwise returns false. """ if not _state: raise RuntimeError("no active input()") return _state.isfirstline() def isstdin(): """ Returns true if the last line was read from sys.stdin, otherwise returns false. """ if not _state: raise RuntimeError("no active input()") return _state.isstdin() class FileInput: """FileInput([files[, inplace[, backup]]], *, mode=None, openhook=None) Class FileInput is the implementation of the module; its methods filename(), lineno(), fileline(), isfirstline(), isstdin(), fileno(), nextfile() and close() correspond to the functions of the same name in the module. In addition it has a readline() method which returns the next input line, and a __getitem__() method which implements the sequence behavior. The sequence must be accessed in strictly sequential order; random access and readline() cannot be mixed. """ def __init__(self, files=None, inplace=False, backup="", *, mode="r", openhook=None): if isinstance(files, str): files = (files,) elif isinstance(files, os.PathLike): files = (os.fspath(files), ) else: if files is None: files = sys.argv[1:] if not files: files = ('-',) else: files = tuple(files) self._files = files self._inplace = inplace self._backup = backup self._savestdout = None self._output = None self._filename = None self._startlineno = 0 self._filelineno = 0 self._file = None self._isstdin = False self._backupfilename = None # restrict mode argument to reading modes if mode not in ('r', 'rU', 'U', 'rb'): raise ValueError("FileInput opening mode must be one of " "'r', 'rU', 'U' and 'rb'") if 'U' in mode: import warnings warnings.warn("'U' mode is deprecated", DeprecationWarning, 2) self._mode = mode self._write_mode = mode.replace('r', 'w') if 'U' not in mode else 'w' if openhook: if inplace: raise ValueError("FileInput cannot use an opening hook in inplace mode") if not callable(openhook): raise ValueError("FileInput openhook must be callable") self._openhook = openhook def __del__(self): self.close() def close(self): try: self.nextfile() finally: self._files = () def __enter__(self): return self def __exit__(self, type, value, traceback): self.close() def __iter__(self): return self def __next__(self): while True: line = self._readline() if line: self._filelineno += 1 return line if not self._file: raise StopIteration self.nextfile() # repeat with next file def __getitem__(self, i): import warnings warnings.warn( "Support for indexing FileInput objects is deprecated. " "Use iterator protocol instead.", DeprecationWarning, stacklevel=2 ) if i != self.lineno(): raise RuntimeError("accessing lines out of order") try: return self.__next__() except StopIteration: raise IndexError("end of input reached") def nextfile(self): savestdout = self._savestdout self._savestdout = None if savestdout: sys.stdout = savestdout output = self._output self._output = None try: if output: output.close() finally: file = self._file self._file = None try: del self._readline # restore FileInput._readline except AttributeError: pass try: if file and not self._isstdin: file.close() finally: backupfilename = self._backupfilename self._backupfilename = None if backupfilename and not self._backup: try: os.unlink(backupfilename) except OSError: pass self._isstdin = False def readline(self): while True: line = self._readline() if line: self._filelineno += 1 return line if not self._file: return line self.nextfile() # repeat with next file def _readline(self): if not self._files: if 'b' in self._mode: return b'' else: return '' self._filename = self._files[0] self._files = self._files[1:] self._startlineno = self.lineno() self._filelineno = 0 self._file = None self._isstdin = False self._backupfilename = 0 if self._filename == '-': self._filename = '<stdin>' if 'b' in self._mode: self._file = getattr(sys.stdin, 'buffer', sys.stdin) else: self._file = sys.stdin self._isstdin = True else: if self._inplace: self._backupfilename = ( os.fspath(self._filename) + (self._backup or ".bak")) try: os.unlink(self._backupfilename) except OSError: pass # The next few lines may raise OSError os.rename(self._filename, self._backupfilename) self._file = open(self._backupfilename, self._mode) try: perm = os.fstat(self._file.fileno()).st_mode except OSError: self._output = open(self._filename, self._write_mode) else: mode = os.O_CREAT | os.O_WRONLY | os.O_TRUNC if hasattr(os, 'O_BINARY'): mode |= os.O_BINARY fd = os.open(self._filename, mode, perm) self._output = os.fdopen(fd, self._write_mode) try: os.chmod(self._filename, perm) except OSError: pass self._savestdout = sys.stdout sys.stdout = self._output else: # This may raise OSError if self._openhook: self._file = self._openhook(self._filename, self._mode) else: self._file = open(self._filename, self._mode) self._readline = self._file.readline # hide FileInput._readline return self._readline() def filename(self): return self._filename def lineno(self): return self._startlineno + self._filelineno def filelineno(self): return self._filelineno def fileno(self): if self._file: try: return self._file.fileno() except ValueError: return -1 else: return -1 def isfirstline(self): return self._filelineno == 1 def isstdin(self): return self._isstdin def hook_compressed(filename, mode): ext = os.path.splitext(filename)[1] if ext == '.gz': import gzip return gzip.open(filename, mode) elif ext == '.bz2': import bz2 return bz2.BZ2File(filename, mode) else: return open(filename, mode) def hook_encoded(encoding, errors=None): def openhook(filename, mode): return open(filename, mode, encoding=encoding, errors=errors) return openhook def _test(): import getopt inplace = False backup = False opts, args = getopt.getopt(sys.argv[1:], "ib:") for o, a in opts: if o == '-i': inplace = True if o == '-b': backup = a for line in input(args, inplace=inplace, backup=backup): if line[-1:] == '\n': line = line[:-1] if line[-1:] == '\r': line = line[:-1] print("%d: %s[%d]%s %s" % (lineno(), filename(), filelineno(), isfirstline() and "*" or "", line)) print("%d: %s[%d]" % (lineno(), filename(), filelineno())) if __name__ == '__main__': _test()
SILENT KILLER Tool