여기 Python을 처음 사용합니다.어떻게 문자열을 추출하고 파이썬에서 텍스트 파일에 여러 줄로 작성합니까?
log.txt 파일에서 가장 활성화 된 IP 주소를 가져 와서 다른 텍스트 파일로 인쇄하려고합니다. 내 첫 번째 단계는 모든 IP 주소를 얻는 것입니다. 두 번째로 가장 많이 발생하는 IP 주소를 정렬합니다. 하지만 첫 번째 단계에서 막혔어요 :
with open('./log_input/log.txt', 'r+') as f:
# loops the lines in teh text file
for line in f:
# split line at whitespace
cols = line.split()
# get last column
byte_size = cols[-1]
# get the first column [0]
ip_addresses = cols[0]
# remove brackets
byte_size = byte_size.strip('[]')
# write the byte size in the resource file
resource_file = open('./log_output/resources.txt', 'a')
resource_file.write(byte_size + '\n')
resource_file.truncate()
# write the ip addresses in the host file
host_file = open('./log_output/hosts.txt', 'a')
host_file.seek(0)
host_file.write(ip_addresses + '\n')
host_file.truncate()
resource_file.close()
host_file.close()
문제는 대신 덮어 쓰기의 IP 주소를 다시 인쇄, 새로운 host.txt 파일에 있습니다. 나도이 시도 :
resource_file = open('./log_output/resources.txt', 'w')
host_file = open('./log_output/hosts.txt', 'w')
및 'w+'
등등 ..하지만 w
또는 w+
호스트 파일에 하나의 IP 주소를 제공합니다.
누군가 나를 통해 이것을 안내 할 수 있습니까?
샘플 입력 파일은
www-c2.proxy.aol.com - - [01/Jul/1995:00:03:52 -0400] "GET /history/skylab/skylab-1.html HTTP/1.0" 200 1659
isdn6-34.dnai.com - - [01/Jul/1995:00:03:52 -0400] "GET /images/kscmap-tiny.gif HTTP/1.0" 200 2537
isdn6-34.dnai.com - - [01/Jul/1995:00:03:52 -0400] "GET /images/ksclogosmall.gif HTTP/1.0" 200 3635
ix-ftw-tx1-24.ix.netcom.com - - [01/Jul/1995:00:03:52 -0400] "GET /shuttle/countdown/count.gif HTTP/1.0" 200 40310
는 내가 처음 한 번만 리소스 파일을 여는 게 좋을 것 : 여기서 resource_file = 개방 ('./ log_output/resources.txt을', 'A') 가야 당신이 for 루프를 시작하기 전에. host_file과 동일합니다. – spacm
테스트 할 수 있도록 입력 파일의 몇 줄을 게시 할 수 있습니까? – tdelaney
_it는 덮어 쓰는 대신 IP 주소를 다시 인쇄 _했습니다 ... 그게 무슨 뜻인지 전혀 모르겠습니다. 그 파일에 뭐가 들기를 원합니까? 중복 된 모든 주소, 중복되지 않은 모든 주소? – tdelaney