소프트웨어융합/파이썬 기타.py
파이썬 복습 + json xml, yaml,
류지나
2021. 8. 31. 09:07
0830수업 중 실습
사전 key value 뒤집은 값도 저장
english_dict = dict()
english_dict['one']='하나'
english_dict['two']='둘'
english_dict['three']='셋'
korean_dict = {v:k for k,v in english_dict.items()}
word = input("단어를 입력하시오:")
if word in english_dict:
print(english_dict[word])
elif word in korean_dict:
print(korean_dict[word])
else:
print('없음')
연락처 만들기 - dict의 key를 rename하는, choice4주목
friends = []
select = 0
while select != 9:
print("----------")
print("1. 친구 리스트 출력\n2. 친구추가\n3. 친구삭제\n4. 이름변경\n9. 종료")
choice = int(input("메뉴를 선택하시오 : "))
if choice == 1:
print(friends)
elif choice == 2:
name = input("이름을 입력하시오 : ")
friends.append(name)
elif choice == 3:
name = input("삭제할 이름을 입력하시오 : ")
if name in friends:
friends.remove(name)
else: print("해당 이름은 없습니다.")
elif choice == 4:
name = input("변경하고 싶은 이름을 입력하시오 : ")
if name in friends:
new_name = input("새로운 이름을 입력하세요 : ")
friends[friends.index(name)]= new_name
else: print("해당 이름은 없습니다.")
파이썬으로 json파일 생성
import json
car_group = dict()
k5 = dict()
k5["price"] = "5000"
k5["year"] = "2015"
car_group["K5"] = k5
avante = dict()
avante["price"] = "3000"
avante["year"] = "2014"
car_group["Avante"] = avante
#json 파일로 저장
with open('C://users/playdata/test2.json', 'w', encoding='utf-8') as make_file:
json.dump(car_group, make_file, indent="\t")
# 저장한 파일 출력하기
with open('C://users/playdata/test2.json', 'r') as f:
json_data = json.load(f)
print(json.dumps(json_data, indent="\t") )
json - dict 저장
import json
car_group = dict()
k5 = dict()
k5["price"] = "5000"
k5["year"] = "2015"
car_group["K5"] = k5
avante = dict()
avante["price"] = "3000"
avante["year"] = "2014"
car_group["Avante"] = avante
#json 파일로 저장
with open('C:\\test.json', 'w', encoding='utf-8') as make_file:
json.dump(car_group, make_file, indent="\t")
# 저장한 파일 출력하기
with open('C:\\test.json', 'r') as f:
json_data = json.load(f)
print(json.dumps(json_data, indent="\t") )
출력문 :
{
"K5": {
"price": "5000",
"year": "2015"
},
"Avante": {
"price": "3000",
"year": "2014"
}
}
연락처 - dict - json 연결해서 재 풀이하기
friends_dic = {}
option = ''
prompt = '-' * 15 + '\n' \
+ '1. 친구 리스트 출력\n' \
+ '2. 친구추가\n' \
+ '3. 친구삭제\n' \
+ '4. 이름변경\n' \
+ '5. 저장\n' \
+ '6. 불러오기\n' \
+ '9. 종료\n' \
+ '메뉴를 선택하시오: '
while( option != '9' ):
option = input(prompt)
if option.isdigit() :
option_n = int(option)
if option_n == 1:
print(friends_dic)
elif option_n == 2:
name = input('이름을 입력하시오: ')
phone = input('전화번호를 입력하시오: ')
friends_dic[name] = phone
elif option_n == 3:
name = input('삭제할 이름: ')
if name in friends_dic.keys():
friends_dic.pop(name)
else:
print('이름을 찾을 수 없어요.')
elif option_n == 4:
name_old = input('어느 친구의 이름을 변경하시겠습니까? ')
if name_old in friends_dic.keys():
friends_dic.pop(name_old)
name_new = input('새로운 이름을 입력해주세요: ')
friends_dic[name_new]= phone
else:
print('이름을 찾을 수 없어요.')
elif option_n == 5:
with open('friends_phonenumbers.json','w',encoding='utf-8') as make_file:
json.dump(friends_dic,make_file,indent='\t')
print('저장이 완료되었습니다')
elif option_n == 6:
filename = input('파일이름: ')
try:
with open(filename, 'r') as f:
friends_dic = json.load(f)
print('저장이 완료되었습니다')
except:
print('파일이 존재하지 않습니다.')
elif option_n == 9:
break
else:
print('다시 알맞은 옵션을 골라주세요')
else:
print('다시 알맞은 옵션을 골라주세요')
test.json
<?xml version ="1.0"?>
<data>
<student>
<name>peter</name>
<age>24</age>
<score math = "80" englsih="97"/>
</student>
<student>
<name>elgar</name>
<age>21</age>
<score math="67" english="56"/>
</student>
<student>
<name>hong</name>
<age>36</age>
<score math="76" english="81"/>
</student>
</data>
json
from xml.etree.ElementTree import parse
tree=parse('test.xml')
root = tree.getroot()
student = root.findall("student")
name = [x.findtext("name") for x in student]
age = [x.finatext("age") for x in student]
score = [x.find("score").attrib for x in student]
print(name)
print(age)
print(score)
vegetables.yml
Vegetables:
- pepper
- tomato
- garlic
pip install pyyaml
import yaml
with open('c:/users/playdata/vegetables.yml') as f:
vegetables = yaml.load(f, Loader=yaml, FullLoader)
print(vegetables)
k8s_deployment_yaml.yml
apiVersion: app/v1
kind: Deployment
metadata:
name: frontend
labels:
app: mywebsite
tier: frontend
spec:
replicas: 3
template:
metadata:
name: myapp-pod
labels:
app: myapp
spec:
containers:
- name: ngnix
image: ngnix
selector:
matchLabels:
app: myapp
app: myapp
with open('cars.yml') as f:
cars_orifianl = yaml.load(f, Loader=yaml.FullLoader)
print(cars_origianl)
print("--------------------------------")
cars_sorted = yaml.dump(cars_origianl, sort_keys = True)
print(cars_sorted)
----------------------------------
with open('cars.yml') as f:
cars_original = yaml.load(f, Loader=yaml.FulllLoader)
print(cars_original)
print("---------------------------------")
for key, value in sorted(cars_original.items(), key=lambda item: item[1]):
print(key,':',value)
----------------------------------