Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- nmap
- ftp
- sshpass
- create table
- STF_PortForwarding
- nohup
- 실행권한
- perfect
- port forwarding
- centos
- ubuntu
- kitura
- appium
- Jupyter Notebook
- openpyxl
- 28015
- ssh
- Jupyter
- PYTHON
- appium server
- STF
- nGrinder
- postgres
- postgresql
- Materials
- SWIFT
- rethinkdb
- GoCD
- insert
- mysql
Archives
- Today
- Total
don't stop believing
blockchain 테스트에 사용한 python 함수 - saveResultData 본문
blockchain 테스트에 사용한 python 함수를 설명합니다.
- getDateStrings - 날짜 - 년, 월, 일, 시, 분, 초를 확인하는 함수입니다.
- getLogfileNameWithPath - 로그 기록을 위해 폴더를 생성하고 경로를 반환합니다.
- getRequestId - ramdom으로 숫자를 반환합니다.
- moveFile - 특정 파일을 로그 폴더로 이동시킵니다.
- saveResultData - 데이터를 파일에 저장합니다.
- convertToHex - String을 hex로 변환합니다.
- leftPad64 - 왼쪽에 (또는 오른쪽에) 0을 채워 고정된 길이로 만듭니다.
- getTestConfig - json 형태의 config 파일을 만들고 불러옵니다.
- waitingCount - time.sleep() 할 때 동적으로 카운트를 셉니다.
- callRPC - requests 모듈을 사용해 http API를 호출합니다.
- callWS - websocket 모듈을 사용해 API 통신을 합니다.
API call에 대한 response 데이터가 엄청나게 많은 경우가 있습니다.
많게는 30M가 넘는 경우도 있는데 이걸 파일로 저장하는 함수를 만들었습니다.
# coding=utf-8 import pathlib class nGleUtils(): def saveResultData(self, logPath, fileName, data): ''' blockdump와 같이 result값이 큰 경우 별도 파일에 저장합니다. ''' # 로그 경로를 확인하고 없다면 만들어 줍니다. pathlib.Path(logPath).mkdir(parents=True, exist_ok=True) # 저장할 파일의 전체 경로와 파일명을 지정합니다. filePath = F"{logPath}/{fileName}" # 지정된 파일에 데이터를 저장합니다. with open(filePath, 'wt') as f: f.write(F"{data}") if __name__== "__main__": ngle = nGleUtils() responseData = "......" # 엄청나게 많은(사이즈가 큰) json 데이터 ngle.saveResultData('./reports/20181217152815', 'result.json', responseData)
내용은 간단합니다.
saveResultData 함수는 데이터를 받아 파일로 저장합니다.
저장할 폴더가 없다면 만들어 줍니다.
pathlib.Path(logPath).mkdir(parents=True, exist_ok=True)
저장할 경로를 정의하고,
filePath = F"{logPath}/{fileName}"
파일을 열고 저장해 줍니다.
with open(filePath, 'wt') as f:
f.write(F"{data}")
try except를 사용할만도 한데 급한데로 먼저 쓰고 에러가 나면 만들자고 했지만... 에러가 발생하지는 않았습니다.
그래서 return 값도 없는 그냥 일반적인 파일 쓰기 함수가 돼버렸네요.
'Python > Basic' 카테고리의 다른 글
blockchain 테스트에 사용한 python 함수 - leftPad64 (0) | 2018.12.18 |
---|---|
blockchain 테스트에 사용한 python 함수 - convertToHex (0) | 2018.12.17 |
blockchain 테스트에 사용한 python 함수 - moveFile (0) | 2018.12.17 |
blockchain 테스트에 사용한 python 함수 - getRequestId (0) | 2018.12.17 |
blockchain 테스트에 사용한 python 함수 - getLogfileNameWithPath (0) | 2018.12.17 |
Comments