나는 파일 이름을 인자로 취하는 작은 파이썬 프로그램을 가지고 있으며 주어진 .txt 파일에서 테이블을 찾으면 콘솔에서 테이블을 출력합니다. 그러나 테이블이 지저분한 것처럼 보입니다. 콘솔에 나타나는 출력 텍스트 형식을 제어하는 방법은 무엇입니까? 다음과 같이콘솔 출력 형식화 및 정렬
#!/usr/bin/python
import sys
import os
filename=sys.argv[1]
filedir=os.getcwd()
string= 'RADIANS'
count=0
N=11
flag=0
f = open(path,'r')
if flag==0:
print ('Scanning for FATAL errors---NONE')
print('Scanning for SYSTEM FATAL errors---NONE')
print('----------------------------------------Structure EigenFrequncies--------------------------------------------\n')
newsearch = 'NUMBER OF ROOTS'
for line in f:
if newsearch in line:
print line
break
print('------------------------------------- REAL EIGEN VALUES(Displaying first 10 modes)-------------------------------\n')
for line in f:
if flag==0:
if string in line:
print line
for i in range(N):
if exitstring1 not in line:
line = f.next().strip()
print line
else:
break
break
f.close()
텍스트 파일은 다음과 같습니다 :
E I G E N V A L U E A N A L Y S I S S U M M A R Y (READ MODULE)
BLOCK SIZE USED ...................... 7
NUMBER OF DECOMPOSITIONS ............. 3
NUMBER OF ROOTS FOUND ................ 46
NUMBER OF SOLVES REQUIRED ............ 33
1 EXTSE REDUCTION RUN JULY 1, 2014 NX NASTRAN 5/ 1/14 PAGE 10
SE_10_KGH_09_5000HZ
0
R E A L E I G E N V A L U E S
(BEFORE AUGMENTATION OF RESIDUAL VECTORS)
MODE EXTRACTION EIGENVALUE RADIANS CYCLES GENERALIZED GENERALIZED
NO. ORDER MASS STIFFNESS
1 1 1.858571E+08 1.363294E+04 2.169750E+03 1.000000E+00 1.858571E+08
2 2 2.912237E+08 1.706528E+04 2.716023E+03 1.000000E+00 2.912237E+08
3 3 4.555573E+08 2.134379E+04 3.396969E+03 1.000000E+00 4.555573E+08
4 4 4.794632E+08 2.189665E+04 3.484960E+03 1.000000E+00 4.794632E+08
5 5 4.850065E+08 2.202286E+04 3.505047E+03 1.000000E+00 4.850065E+08
6 6 4.879794E+08 2.209025E+04 3.515773E+03 1.000000E+00 4.879794E+08
7 7 4.898815E+08 2.213327E+04 3.522619E+03 1.000000E+00 4.898815E+08
8 8 4.968964E+08 2.229117E+04 3.547750E+03 1.000000E+00 4.968964E+08
9 9 5.004465E+08 2.237066E+04 3.560401E+03 1.000000E+00 5.004465E+08
10 10 5.088724E+08 2.255820E+04 3.590249E+03 1.000000E+00 5.088724E+08
을하지만 난 내 코드를 실행하면 출력이 이런 식으로 나타납니다 :
MODE EXTRACTION EIGENVALUE RADIANS CYCLES GENERALIZED GENERALIZED
NO. ORDER MASS STIFFNESS
1 1 2.292081E+04 1.513962E+02 2.409545E+01 1.000000E+00 2.292081E+04
2 2 2.701519E+04 1.643630E+02 2.615918E+01 1.000000E+00 2.701519E+04
3 3 5.071461E+04 2.251991E+02 3.584154E+01 1.000000E+00 5.071461E+04
4 4 5.426810E+04 2.329551E+02 3.707596E+01 1.000000E+00 5.426810E+04
5 5 1.084471E+05 3.293130E+02 5.241179E+01 1.000000E+00 1.084471E+05
6 6 1.195545E+05 3.457666E+02 5.503046E+01 1.000000E+00 1.195545E+05
7 7 1.254440E+05 3.541807E+02 5.636961E+01 1.000000E+00 1.254440E+05
8 8 3.216040E+05 5.671014E+02 9.025700E+01 1.000000E+00 3.216040E+05
9 9 3.434422E+05 5.860394E+02 9.327106E+01 1.000000E+00 3.434422E+05
10 10 3.545295E+05 5.954238E+02 9.476464E+01 1.000000E+00 3.545295E+05
다음과 같이
내 프로그램입니다
어떻게 정렬을 제어 할 수 있습니까? 아무도 이것으로 나를 도울 수 있습니까?
python'tabulate' 모듈을 사용하십시오 – rjv
나는 그 테이블 모듈을 설치할 루트 권한이 없습니다. 나는 회사에서 일합니다. 다른 방법이 있습니까? @rjv – ayaan