이 시점에서 (파이썬에 처음 사용하는) 문제는 텍스트 파일에 문자열을 쓰는 것입니다. 내가 겪고있는 문제는 문자열에 줄 바꿈이 없거나 줄 바꿈이 인 경우 각각 문자입니다. 코드는 다음과 같이하십시오파이썬의 file.write() 메서드 및 문자열 처리 문제
이import string, io
FileName = input("Arb file name (.txt): ")
MyFile = open(FileName, 'r')
TempFile = open('TempFile.txt', 'w', encoding='UTF-8')
for m_line in MyFile:
m_line = m_line.strip()
m_line = m_line.split(": ", 1)
if len(m_line) > 1:
del m_line[0]
#print(m_line)
MyString = str(m_line)
MyString = MyString.strip("'[]")
TempFile.write(MyString)
MyFile.close()
TempFile.close()
내 입력은 다음과 같습니다
1 Jargon
2 Python
3 Yada Yada
4 Stuck
내 출력 나는 이것이 수행 할 때
JargonPythonYada YadaStuck
나는 다음이에 소스 코드를 수정 :
를import string, io
FileName = input("Arb File Name (.txt): ")
MyFile = open(FileName, 'r')
TempFile = open('TempFile.txt', 'w', encoding='UTF-8')
for m_line in MyFile:
m_line = m_line.strip()
m_line = m_line.split(": ", 1)
if len(m_line) > 1:
del m_line[0]
#print(m_line)
MyString = str(m_line)
MyString = MyString.strip("'[]")
#print(MyString)
TempFile.write('\n'.join(MyString))
MyFile.close()
TempFile.close()
동일한 입력과 출력보기 이 같은 S : 이상적으로
J
a
r
g
o
nP
y
t
h
o
nY
a
d
a
Y
a
d
aS
t
u
c
k
, 나는 그들의 앞에 숫자 않고 별도의 행에 표시하는 단어의 각을 부탁합니다.
감사합니다,
MarleyH
당신은해서는 안'을 MyString = STR (m_line)'당신이로 시작하는 [와로 끝나는] 포함하는 문자열을 얻을 수 있도록이 명령은 문자열의 목록입니다 객체 m_line의 캐릭터 라인 표현을 생성하기 때문에 목록의 문자열 요소의 repreqentations, 즉 '주위에 그들과 함께 말할 것입니다 그리고 당신은 이러한 문자를 스트립해야합니다, 당신은 자신을 만들었습니다. 반대로 list에 적용된 join()은 원하는 결과를 즉시 제공합니다. – eyquem
다음 문자와 공백으로 구분 된 문자열 앞의 숫자를 제거하려면'line.partition ('') [2]'on line being '1 Jargon' – eyquem