이미 데이터가 포함 된 후 업데이트하려는 XML 문서가 있습니다.
"a"
(추가) 모드에서 XML 파일을 여는 것에 대해 생각했습니다. 문제는 새 데이터가 루트 닫는 태그 뒤에 기록된다는 것입니다.
파일의 마지막 줄을 삭제 한 다음 해당 지점에서 데이터 쓰기를 시작한 다음 루트 태그를 닫는 방법은 무엇입니까?
물론 전체 파일을 읽고 문자열 조작을 할 수는 있지만 이것이 최선의 아이디어라고 생각하지 않습니다 ..
시간 내 줘서 고마워.
해결 방법
해서는 안되는 (아래 참조) 빠르고 쉬운 방법은 readlines ()
를 사용하여 전체 파일을 문자열 목록으로 읽는 것입니다. 빠르고 쉬운 해결책이 당신이 찾고있는 것이라면이 글을 씁니다.
open ()
을 사용하여 파일을 연 다음 readlines ()
메서드를 호출하면됩니다. 얻을 수있는 것은 파일의 모든 문자열 목록입니다. 이제 마지막 요소 앞에 문자열을 쉽게 추가 할 수 있습니다 (마지막 요소 앞에 한 요소 만 추가하면됩니다). 마지막으로 writelines ()
를 사용하여 파일에 다시 쓸 수 있습니다.
예가 도움이 될 수 있습니다.
my_file = open(filename, "r")
lines_of_file = my_file.readlines()
lines_of_file.insert(-1, "This line is added one before the last line")
my_file.writelines(lines_of_file)
이렇게하지 말아야하는 이유는 매우 빠른 작업을하지 않는 한 XML 파서를 사용해야하기 때문입니다. 이것은 DOM, 트리 및 노드와 같은 개념을 사용하여 XML을 지능적으로 사용할 수있는 라이브러리입니다. 이것은 XML로 작업하는 적절한 방법 일뿐만 아니라 표준 방법이기도하여 코드를 더 이식 가능하고 다른 프로그래머가 이해하기 쉽게 만듭니다.
참조 페이지 https://stackoverflow.com/questions/1591579
'파이썬' 카테고리의 다른 글
파이썬 Python에서 csv 파일에 헤더를 추가하는 방법은 무엇입니까? (0) | 2021.01.21 |
---|---|
파이썬 MAC 주소 얻기 (0) | 2021.01.21 |
파이썬 다차원 배열에서 가장 높은 값을 반환하는 방법은 무엇입니까? (0) | 2021.01.21 |
파이썬 문자열 바이트 인코딩을 감지하는 방법은 무엇입니까? (0) | 2021.01.21 |
파이썬으로 시스템 트레이 팝업 메시지를 만드는 방법은 무엇입니까? (윈도우) (0) | 2021.01.21 |
댓글