python:python
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
python:python [2023/10/28 00:07] – dblume | python:python [2024/02/27 15:43] (current) – [Linux script that takes either stdin or files] dblume | ||
---|---|---|---|
Line 23: | Line 23: | ||
Would be good to experiment with [[http:// | Would be good to experiment with [[http:// | ||
+ | |||
===== Data Analysis ===== | ===== Data Analysis ===== | ||
Line 79: | Line 80: | ||
===== Linux script that takes either stdin or files ===== | ===== Linux script that takes either stdin or files ===== | ||
+ | Newer way, **use [[https:// | ||
<code python> | <code python> | ||
if __name__==' | if __name__==' | ||
Line 87: | Line 89: | ||
if not line: | if not line: | ||
break | break | ||
- | my_process_line( line.rstrip() ) | + | my_process_line(line.rstrip()) |
else: | else: | ||
# Process lines of the files specified. | # Process lines of the files specified. | ||
for fname in sys.argv[1: | for fname in sys.argv[1: | ||
- | if not os.path.exists( fname ): | + | if not os.path.exists(fname): |
- | treat_argument_as_literal( fname ) | + | treat_argument_as_literal(fname) |
continue | continue | ||
- | with open( fname, ' | + | with open(fname, ' |
while 1: | while 1: | ||
line = f.readline() | line = f.readline() | ||
if not line: | if not line: | ||
break | break | ||
- | my_process_line( line.rstrip() ) | + | my_process_line(line.rstrip()) |
</ | </ | ||
Line 148: | Line 150: | ||
| | ||
if __name__ == ' | if __name__ == ' | ||
- | cProfile.run( " | + | cProfile.run(" |
</ | </ | ||
Line 162: | Line 164: | ||
# Split input data by row and then on spaces | # Split input data by row and then on spaces | ||
- | rows = [ line.strip().split(' | + | rows = [line.strip().split(' |
# Reorganize data by columns | # Reorganize data by columns | ||
Line 168: | Line 170: | ||
# Compute column widths by taking maximum length of values per column | # Compute column widths by taking maximum length of values per column | ||
- | col_widths = [ max(len(value) for value in col) for col in cols ] | + | col_widths = [max(len(value) for value in col) for col in cols] |
# Create a suitable format string | # Create a suitable format string | ||
- | format = ' ' | + | format = ' ' |
# Print each row using the computed format | # Print each row using the computed format | ||
Line 202: | Line 204: | ||
self.__m_x = x | self.__m_x = x | ||
- | x = property( getx, setx ) | + | x = property(getx, |
class B: | class B: | ||
""" | """ | ||
- | __slots__ = [ " | + | __slots__ = [" |
def __init__(self): | def __init__(self): | ||
self.__m_x = 0 | self.__m_x = 0 | ||
Line 217: | Line 219: | ||
self.__m_x = x | self.__m_x = x | ||
- | x = property( getx, setx ) | + | x = property(getx, |
class C(object): | class C(object): | ||
- | """ | + | """ |
def __init__(self): | def __init__(self): | ||
self.__x = 0 | self.__x = 0 | ||
Line 231: | Line 233: | ||
self.__x = x | self.__x = x | ||
- | x = property( getx, setx ) | + | x = property(getx, |
</ | </ | ||
python/python.1698476854.txt.gz · Last modified: 2023/10/28 00:07 by dblume