배열에 "N", "1.1", "XY", "N", "2.3", "xz"문자 만 저장하려는 .txt 파일이 있습니다. .txt 파일은 다음과 같습니다.
[ TITLE
N 1.1 XY
N 2.3 XZ
]
내 코드는 다음과 같습니다.
src = open("In.txt", "r")
def findOp (row):
trig = False
temp = ["", "", ""]
i = 1
n = 0
for char in row:
i += 1
if (char != '\t') & (char != ' ') & (char != '\n'):
trig = True
temp[n] += char
else:
if trig:
n += 1
trig = False
return temp
for line in src.readlines():
print(findOp(line))
내 코드의 출력은 다음과 같습니다.
['[', 'TITLE', '']
['', '', '']
['N', '1.1', 'XY']
['N', '2.3', 'XZ']
['', '', '']
[']', '', '']
문제는 프로그램이 내가 원하지 않는 배열에 공백 문자를 저장한다는 것입니다.
종료하기 전에 반환 배열을 확인할 수 있습니다.
def findOp(row):
trig = False
temp = ["", "", ""]
i = 1
n = 0
for char in row:
i += 1
if (char != '\t') & (char != ' ') & (char != '\n'):
trig = True
temp[n] += char
else:
if trig:
n += 1
trig = False
# Will return `temp` if all elements eval to True otherwise
# it will return None
return temp if all(temp) else None
None
그런 다음 이 값 을 후속 구성에서 검사 조건으로 사용할 수 있습니다.
for line in src.readlines():
out = findOp(line)
if out:
print(out)
>> ['N', '1.1', 'XY']
>> ['N', '2.3', 'XZ']
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다