티스토리 뷰
string 형태가 아닌 다른 타입의 변수를 f.write()함수 내부로 전달하면 아래와 같이 str 형태의 데이터를 전달하라며 오류가 난다.
a = {"A":143}
with open (..., "W") as f:
f.write(a)
# TypeError: write() argument must be str, not dict
그럴 때 write 함수 내에서 변수를 repr()로 감싸서 전달하면 정상적으로 저장이 된다.
a = {"A":123}
with open (... ,"W") as f:
f.write(repr(a))
# 정상적으로 저장된다.
다만 이렇게 저장된 변수는 string 형태로 저장되기 때문에 다시 원하는 타입 (딕셔너리 등)의 형태로 이용하려면 eval()함수를 사용해야한다.
with open ("test.txt", "r") as f:
for line in f:
a = line
print("a :" ,a)
print("type(a) :", type(a))
print("eval(a) :",eval(a))
print("type(eval(a)) :",type(eval(a)))
# a : {'A': 123}
# type(a) : <class 'str'>
# eval(a) : {'A': 123}
# type(eval(a)) : <class 'dict'>
'Computer > 코딩 개꿀팁' 카테고리의 다른 글
딥러닝 모델을 돌리는데 램 누수 현상이 발생한다? (0) | 2023.04.12 |
---|---|
[꿀팁]파이썬을 이용해서 파일명을 일괄로 변경해보자 (0) | 2023.03.05 |
Pytorch tensor를 더 많이/정확하게 표기하고 싶을 때 (0) | 2023.02.23 |
내 모델이 cpu에 있는지 cuda에 있는지 확인하는 방법 (0) | 2023.02.21 |
[꿀팁] str을 dictionary로 간단히 바꾸는 eval함수 (0) | 2023.02.02 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- marginal likelihood
- 최대우도추정
- kld
- 이왜안
- eigenvector
- 3B1B따라잡기
- 베이즈정리
- 백준
- vae
- 3b1b
- 선형대수
- Manimlibrary
- variational autoencoder
- manimtutorial
- 인공지능
- MorganCircularfingerprint
- Matrix algebra
- manim
- 파이썬
- MatrixAlgebra
- ai신약개발
- 제한볼츠만머신
- kl divergence
- eigenvalue
- 기계학습
- elementry matrix
- ai인공지능
- manim library
- MLE
- 오일석기계학습
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함