반응형
Python 파일에 저장
파이썬 프로그램이라는 이름의 파일에 문자열을 저장하고 싶습니다. Failed.py
지금까지 내가 가진 것은 다음과 같습니다.
myFile = open('today','r')
ips = {}
for line in myFile:
parts = line.split(' ')
if parts[1] == 'Failure':
if parts[0] in ips:
ips[pars[0]] += 1
else:
ips[parts[0]] = 0
for ip in [k for k, v in ips.iteritems() if v >=5]:
#write to file called Failed.py
file = open('Failed.py', 'w')
file.write('whatever')
file.close()
다음은 래핑 된 블록에 예외가 있어도 파일을 자동으로 닫는보다 파이썬적인 버전입니다.
with open('Failed.py', 'w') as file:
file.write('whatever')
을 사용하여 파일을 다시 열어야 open()
하지만 이번에 'w'
는 파일에 쓸 것임을 나타 내기 위해 지나 갑니다. 또한 with
쓰기가 끝나면 파일이 닫히 도록를 사용 하는 것이 좋습니다 .
with open('Failed.txt', 'w') as f:
for ip in [k for k, v in ips.iteritems() if v >=5]:
f.write(ip)
당연히 출력에 줄 바꿈이나 다른 형식을 포함하고 싶을 수 있지만 기본은 위와 같습니다.
파일 닫기와 동일한 문제가 읽기 코드에 적용됩니다. 다음과 같이 표시됩니다.
ips = {}
with open('today','r') as myFile:
for line in myFile:
parts = line.split(' ')
if parts[1] == 'Failure':
if parts[0] in ips:
ips[pars[0]] += 1
else:
ips[parts[0]] = 0
myFile = open('today','r')
ips = {}
for line in myFile:
parts = line.split()
if parts[1] == 'Failure':
ips.setdefault(parts[0], 0)
ips[parts[0]] += 1
of = open('failed.py', 'w')
for ip in [k for k, v in ips.iteritems() if v >=5]:
of.write(k+'\n')
setdefault를 확인하면 코드를 좀 더 쉽게 읽을 수 있습니다. 그런 다음 파일 객체의 쓰기 방법으로 데이터를 덤프합니다.
참고URL : https://stackoverflow.com/questions/9536714/python-save-to-file
반응형
'code' 카테고리의 다른 글
Android SDK 설치 : JDK (Java SE Development Kit)를 찾을 수 없음 (0) | 2020.12.10 |
---|---|
동적 SQL 문에서 테이블 변수를 사용하는 방법은 무엇입니까? (0) | 2020.12.10 |
웹 스톰에서 자동 저장을 끄는 방법 (0) | 2020.12.10 |
IE에서 transform : translateX와 함께 CSS calc ()를 사용할 수 없습니다. (0) | 2020.12.10 |
beautifulsoup, html5lib : 모듈 객체에 _base 속성이 없습니다. (0) | 2020.12.10 |