def main():
with geoip2.database.Reader('GeoLite2-City.mmdb') as reader:
with open('iplists.txt', 'r') as iplist_file, open('iplist_result.csv', 'w') as output_file:
for ip in iplist_file:
ip = ip.strip()
response = reader.city(ip)
country_iso_code = response.country.iso_code if response.country else "Unknown"
output_file.write(f"{country_iso_code},{ip}\n")
if __name__ == "__main__":
main()
이 리팩토링된 코드는 다음과 같은 변경 사항을 포함합니다:
sys.stdout을 사용하는 대신에 파일을 열고 닫는 with 문을 사용하여 출력을 관리합니다.
IP 위치 정보 CSV 저장. 위 코드를 리팩토링해줘
import geoip2.database
def main():
with geoip2.database.Reader('GeoLite2-City.mmdb') as reader:
with open('iplists.txt', 'r') as iplist_file, open('iplist_result.csv', 'w') as output_file:
for ip in iplist_file:
ip = ip.strip()
response = reader.city(ip)
country_iso_code = response.country.iso_code if response.country else "Unknown"
output_file.write(f"{country_iso_code},{ip}\n")
if __name__ == "__main__":
main()
이 리팩토링된 코드는 다음과 같은 변경 사항을 포함합니다:
sys.stdout
을 사용하는 대신에 파일을 열고 닫는with
문을 사용하여 출력을 관리합니다.이제 위 코드를 사용하여 원하는 결과를 얻을 수 있을 것입니다.