각 텍스트 부분을 split
의 변수에 할당 한 다음 별도의 순서로 쓸 수 있습니다. 나는 또한 파일을 열 컨텍스트 관리자를 사용하고, 파일 객체 않고 직접 readline
아무것도 반환 될 때까지 무한 루프 반복하고있어
with open("textfile.txt") as f1, open("textfile2.txt", "w") as f2:
for line in f1:
text1, numbers, text2 = line.split(":")
# N.B. this will fail if there are more *or* less than 3 parts to line.split(":")
# on any line of the file. Ensure that there is not, or wrap this in a
# try/except block and handle appropriately.
f2.write("{}:{}:{}\n".format(text1, text2, numbers))
# or f2.write(':'.join([text1, text2, numbers, "\n"]))
# or f2.write(text1 + ":" + text2 + ":" + numbers + "\n")
# or any other way to assemble the text you want.
# my favorite in Py3.6+ is an f-string
# f2.write(f"{text1}:{text2}:{numbers}\n")
참고. 명시적인 open
및 close
문을 통해 컨텍스트 관리자를 선호해야합니다. 이는 해당 종료가 깨끗하지 않더라도 (예외 처리 및 처리 된 경우 등) 블록에서 종료 한 후에 파일 개체를 닫을 수 있기 때문입니다. 무한 루프에서 한 번에 한 줄씩 읽는 대신 파일 객체를 반복하는 것은 관용적으로 더 멋지게 보입니다.
참으로. 너 뭐 해봤 니? –
지금까지 시도한 것은 무엇입니까? 코드를 게시하십시오. – James
"text1"및 "text2"의 예는 무엇입니까? – realharry