#프로젝트명 : Contact 파일명 : contact.py

class Contact:
    def __init__(self,name,phone_number,e_mail,addr):
        self.name=name
        self.phone_numder = phone_number
        self.e_mail=e_mail
        self.addr=addr
    def print_info(self):
        print("name:",self.name)
        print("phone numder:",self.phone_numder)
        print("e_mail:",self.e_mail)
        print("addr:",self.addr)

#모듈 자체 테스트 시. 호출할 함수
#기본 코드 작성
def run():
    kim=Contact('김일구','010-8812-1197','ligu.kim@python.com','Seoul')
    kim.print_info()

#모듈 자체 테스트 인지, import인지를 구분
if __name__=="__main__":
    run()

#프로젝트명 : Contact 파일명 : contact.py

class Contact:
    def __init__(self,name,phone_number,e_mail,addr):
        self.name=name
        self.phone_numder = phone_number
        self.e_mail=e_mail
        self.addr=addr
    def print_info(self):
        print("name:",self.name)
        print("phone numder:",self.phone_numder)
        print("e_mail:",self.e_mail)
        print("addr:",self.addr)
##Class Contact : end ####

#사용자로부터 데이터 입력 받기
def set_contact():
    name = input("Name:")
    phone_number = input("phone number:")
    e_mail =input("e_mail:")
    addr =input("addr:")
    print(name,phone_number,e_mail,addr)

#모듈 자체 테스트 시. 호출할 함수
#기본 코드 작성
def run():
   set_contact()

#모듈 자체 테스트 인지, import인지를 구분
if __name__=="__main__":
    run()

 

#프로젝트명 : Contact 파일명 : contact.py

class Contact:
    def __init__(self,name,phone_number,e_mail,addr):
        self.name=name
        self.phone_numder = phone_number
        self.e_mail=e_mail
        self.addr=addr
    def print_info(self):
        print("name:",self.name)
        print("phone numder:",self.phone_numder)
        print("e_mail:",self.e_mail)
        print("addr:",self.addr)
##Class Contact : end ####

#사용자로부터 데이터 입력 받기
def set_contact():
    name = input("Name:")
    phone_number = input("phone number:")
    e_mail =input("e_mail:")
    addr =input("addr:")
    print(name,phone_number,e_mail,addr)

#메인 메뉴 구성하기
def print_menu():
    print("1. 연락처 입력")
    print("2. 연락처 출력")
    print("3. 연락처 삭제")
    print("4. 중료")
    menu=input("메뉴선택:")

    return int(menu)

#모듈 자체 테스트 시. 호출할 함수
#기본 코드 작성
def run():
    while 1:
        menu=print_menu()
        if menu==4:
            break

#모듈 자체 테스트 인지, import인지를 구분
if __name__=="__main__":
    run()

C:\Users\admin\PycharmProjects\pythonwork1\venv\Scripts\python.exe C:/Users/admin/PycharmProjects/pythonwork1/contact.py
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:4

Process finished with exit code 0
#프로젝트명 : Contact 파일명 : contact.py

class Contact:
    def __init__(self,name,phone_number,e_mail,addr):
        self.name=name
        self.phone_numder = phone_number
        self.e_mail=e_mail
        self.addr=addr
    def print_info(self):
        print("name:",self.name)
        print("phone numder:",self.phone_numder)
        print("e_mail:",self.e_mail)
        print("addr:",self.addr)
##Class Contact : end ####

#사용자로부터 데이터 입력 받기
def set_contact():
    name = input("Name:")
    phone_number = input("phone number:")
    e_mail =input("e_mail:")
    addr =input("addr:")
    #print(name,phone_number,e_mail,addr)
    contact=Contact(name,phone_number,e_mail,addr)
    return contact

#-----def_set_contact() END--------

#메인 메뉴 구성하기
def print_menu():
    print("1. 연락처 입력")
    print("2. 연락처 출력")
    print("3. 연락처 삭제")
    print("4. 중료")
    menu=input("메뉴선택:")

    return int(menu)

#모듈 자체 테스트 시. 호출할 함수
#기본 코드 작성
def run():
    #추가
    contact_list=[]
    while 1:
        menu=print_menu()
        #1. 연락처 입력 선택
        if menu==1:
            contact=set_contact()
            contact_list.append(contact)
        #수정
        elif menu == 4:
            break
#----def run():END-----



#모듈 자체 테스트 인지, import인지를 구분
if __name__=="__main__":
    run()
    
    
C:\Users\admin\PycharmProjects\pythonwork1\venv\Scripts\python.exe C:/Users/admin/PycharmProjects/pythonwork1/contact.py
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:1
Name:왕
phone number:123-4567-7894
e_mail:왕@naed@com
addr:왕왕
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:
#프로젝트명 : Contact 파일명 : contact.py

class Contact:
    def __init__(self,name,phone_number,e_mail,addr):
        self.name=name
        self.phone_numder = phone_number
        self.e_mail=e_mail
        self.addr=addr
    def print_info(self):
        print("name:",self.name)
        print("phone numder:",self.phone_numder)
        print("e_mail:",self.e_mail)
        print("addr:",self.addr)
##Class Contact : end ####

#사용자로부터 데이터 입력 받기
def set_contact():
    name = input("Name:")
    phone_number = input("phone number:")
    e_mail =input("e_mail:")
    addr =input("addr:")
    #print(name,phone_number,e_mail,addr)
    contact=Contact(name,phone_number,e_mail,addr)
    return contact

#-----def_set_contact() END--------

#메인 메뉴 구성하기
def print_menu():
    print("1. 연락처 입력")
    print("2. 연락처 출력")
    print("3. 연락처 삭제")
    print("4. 중료")
    menu=input("메뉴선택:")

    return int(menu)

#모듈 자체 테스트 시. 호출할 함수
#기본 코드 작성
def run():
    #추가
    contact_list=[]
    while 1:
        menu=print_menu()
        #1. 연락처 입력 선택
        if menu==1:
            contact=set_contact()
            contact_list.append(contact)
        #2.연락처 출력
        if menu == 2:
            print(contact_list)
        #수정
        elif menu == 4:
            break
#----def run():END-----

#연락처 출력하기
def print_contact(contact_list):
    for contact in contact_list:
        contact.print_info()

#모듈 자체 테스트 인지, import인지를 구분
if __name__=="__main__":
    run()
    
C:\Users\admin\PycharmProjects\pythonwork1\venv\Scripts\python.exe C:/Users/admin/PycharmProjects/pythonwork1/contact.py
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:1
Name:왕
phone number:123-456-789
e_mail:왕@com
addr:왕왕
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:2
[<__main__.Contact object at 0x019ED0B8>]
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:
#프로젝트명 : Contact 파일명 : contact.py

class Contact:
    def __init__(self,name,phone_number,e_mail,addr):
        self.name=name
        self.phone_numder = phone_number
        self.e_mail=e_mail
        self.addr=addr
    def print_info(self):
        print("name:",self.name)
        print("phone numder:",self.phone_numder)
        print("e_mail:",self.e_mail)
        print("addr:",self.addr)
##Class Contact : end ####

#사용자로부터 데이터 입력 받기
def set_contact():
    name = input("Name:")
    phone_number = input("phone number:")
    e_mail =input("e_mail:")
    addr =input("addr:")
    #print(name,phone_number,e_mail,addr)
    contact=Contact(name,phone_number,e_mail,addr)
    return contact

#-----def_set_contact() END--------

#메인 메뉴 구성하기
def print_menu():
    print("1. 연락처 입력")
    print("2. 연락처 출력")
    print("3. 연락처 삭제")
    print("4. 중료")
    menu=input("메뉴선택:")

    return int(menu)

#모듈 자체 테스트 시. 호출할 함수
#기본 코드 작성
def run():
    #추가
    contact_list=[]
    while 1:
        menu=print_menu()
        #1. 연락처 입력 선택
        if menu==1:
            contact=set_contact()
            contact_list.append(contact)
        #2.연락처 출력
        elif menu == 2:
            print_contact(contact_list)
        # 3. 연락처 삭제
        elif menu == 3:
            name=input("Name:")
            delete_contact(contact_list,name)
        #4.종료
        elif menu == 4:
            break

#----def run():END-----

#연락처 출력하기
def print_contact(contact_list):
    for contact in contact_list:
        contact.print_info()
#연락처 삭제하기
def delete_contact(contact_list,name):
    for i, contact in enumerate(contact_list):
        if contact.name==name:
            del contact_list[i]


#모듈 자체 테스트 인지, import인지를 구분
if __name__=="__main__":
    run()
    
 C:\Users\admin\PycharmProjects\pythonwork1\venv\Scripts\python.exe C:/Users/admin/PycharmProjects/pythonwork1/contact.py
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:1
Name:와
phone number:와
e_mail:와
addr:와
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:2
name: 와
phone numder: 와
e_mail: 와
addr: 와
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:3
Name:와
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:2
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 중료
메뉴선택:
#프로젝트명 : Contact 파일명 : contact.py

class Contact:
    def __init__(self,name,phone_number,e_mail,addr):
        self.name=name
        self.phone_numder = phone_number
        self.e_mail=e_mail
        self.addr=addr
    def print_info(self):
        print("name:",self.name)
        print("phone numder:",self.phone_numder)
        print("e_mail:",self.e_mail)
        print("addr:",self.addr)
##Class Contact : end ####

#사용자로부터 데이터 입력 받기
def set_contact():
    name = input("Name:")
    phone_number = input("phone number:")
    e_mail =input("e_mail:")
    addr =input("addr:")
    #print(name,phone_number,e_mail,addr)
    contact=Contact(name,phone_number,e_mail,addr)
    return contact

#-----def_set_contact() END--------

#메인 메뉴 구성하기
def print_menu():
    print("1. 연락처 입력")
    print("2. 연락처 출력")
    print("3. 연락처 삭제")
    print("4. 종료")
    menu=input("메뉴선택:")

    return int(menu)

#모듈 자체 테스트 시. 호출할 함수
#기본 코드 작성
def run():
    #추가
    contact_list=[]
    while 1:
        menu=print_menu()
        #1. 연락처 입력 선택
        if menu==1:
            contact=set_contact()
            contact_list.append(contact)
        #2.연락처 출력
        elif menu == 2:
            print_contact(contact_list)
        # 3. 연락처 삭제
        elif menu == 3:
            name=input("Name:")
            delete_contact(contact_list,name)
        #4.종료
        elif menu == 4:
            store_contact(contact_list)
            break

#----def run():END-----

#연락처 출력하기
def print_contact(contact_list):
    for contact in contact_list:
        contact.print_info()
        
#연락처 삭제하기
def delete_contact(contact_list,name):
    for i, contact in enumerate(contact_list):
        if contact.name==name:
            del contact_list[i]

#연락처 파일 저장
def store_contact(contact_list):
    f=open("","wt")
    for contact in contact_list:
        f.write(contact.name+'\n')
        f.write(contact.phone_number + '\n')
        f.write(contact.e_mail+ '\n')
        f.write(contact.addr + '\n')
    f.close()


#모듈 자체 테스트 인지, import인지를 구분
if __name__=="__main__":
    run()
    
C:\Users\admin\PycharmProjects\pythonwork1\venv\Scripts\python.exe C:/Users/admin/PycharmProjects/pythonwork1/contact.py
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 종료
메뉴선택:1
Name:와1
phone number:와와1
e_mail:와와오아1
addr:와와1
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 종료
메뉴선택:1
Name:우우우1
phone number:우우우우1
e_mail:우우우우우1
addr:우우1
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 종료
메뉴선택:1
Name:네
phone number:네네
e_mail:네네네
addr:네네
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 종료
메뉴선택:3
Name:네
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 종료
메뉴선택:2
name: 와1
phone numder: 와와1
e_mail: 와와오아1
addr: 와와1
name: 우우우1
phone numder: 우우우우1
e_mail: 우우우우우1
addr: 우우1
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 종료
메뉴선택:
    
    

 

#프로젝트명 : Contact 파일명 : contact.py

class Contact:
    def __init__(self,name,phone_number,e_mail,addr):
        self.name=name
        self.phone_numder = phone_number
        self.e_mail=e_mail
        self.addr=addr
    def print_info(self):
        print("name:",self.name)
        print("phone numder:",self.phone_numder)
        print("e_mail:",self.e_mail)
        print("addr:",self.addr)
##Class Contact : end ####

#사용자로부터 데이터 입력 받기
def set_contact():
    name = input("Name:")
    phone_number = input("phone number:")
    e_mail =input("e_mail:")
    addr =input("addr:")
    #print(name,phone_number,e_mail,addr)
    contact=Contact(name,phone_number,e_mail,addr)
    return contact

#-----def_set_contact() END--------

#메인 메뉴 구성하기
def print_menu():
    print("1. 연락처 입력")
    print("2. 연락처 출력")
    print("3. 연락처 삭제")
    print("4. 종료")
    menu=input("메뉴선택:")

    return int(menu)

#모듈 자체 테스트 시. 호출할 함수
#기본 코드 작성
def run():
    #추가
    contact_list=[]
    load_contact(contact_list)
    while 1:
        menu=print_menu()
        #1. 연락처 입력 선택
        if menu==1:
            contact=set_contact()
            contact_list.append(contact)
        #2.연락처 출력
        elif menu == 2:
            print_contact(contact_list)
        # 3. 연락처 삭제
        elif menu == 3:
            name=input("Name:")
            delete_contact(contact_list,name)
        #4.종료
        elif menu == 4:
            store_contact(contact_list)
            break

#----def run():END-----

#연락처 출력하기
def print_contact(contact_list):
    for contact in contact_list:
        contact.print_info()
        
#연락처 삭제하기
def delete_contact(contact_list,name):
    for i, contact in enumerate(contact_list):
        if contact.name==name:
            del contact_list[i]

#연락처 파일 저장
def store_contact(contact_list):
    f=open("C:/Users/admin/PycharmProjects/pythonwork1/test.txt","wt")
    for contact in contact_list:
        f.write(contact.name+'\n')
        f.write(contact.phone_number + '\n')
        f.write(contact.e_mail+ '\n')
        f.write(contact.addr + '\n')
    f.close()

#연락처 불러들이기
def load_contact(contact_list):
    f = open("C:/Users/admin/PycharmProjects/pythonwork1/test.txt", "rt")
    # 파일에서 읽어들인 전체 라인 수를 4로 나누어, 몇 개의 데이터가 존재하는지 확인
    lines = f.readlines()
    num = len(lines)/4 # 나눗셈 연산을 수행하면 num 값이 실수가 되는데,
    num = int(num)     # 이 값을 int() 내장 함수를 사용해 정수형으로 형 변환

    for i in range(num):
        name = lines[4*i].rstrip("\n") # rstrip('\n') : 맨 오른쪽 '\n'을 제거
        phone = lines[4*i+1].rstrip('\n') # lstrip('\n') : 맨 왼쪽 '\n' 을 제거
        email = lines[4*i+2].rstrip('\n') # strip('\n') : 양쪽 끝의 '\n'을 제거
        addr = lines[4*i+3].rstrip('\n')
        contact = Contact(name, phone, email, addr)
        contact_list.append(contact)
    f.close()

#모듈 자체 테스트 인지, import인지를 구분
if __name__=="__main__":
    run()

 

 

cmd 창에서 실행하기

Microsoft Windows [Version 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\admin>C:\Users\admin\PycharmProjects\pythonwork1\contact.py

C:\Users\admin>cd C:\Users\admin\PycharmProjects\pythonwork1\contact.py
디렉터리 이름이 올바르지 않습니다.

C:\Users\admin>cd\ C:\Users\admin\PycharmProjects\pythonwork1\contact.py
파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다.

C:\Users\admin>cdC:\Users\admin\PycharmProjects\pythonwork1\contact.py
파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다.

C:\Users\admin>cd..

C:\Users>cd..

C:\>cd C:\Users\admin\PycharmProjects\pythonwork1\contact.py
디렉터리 이름이 올바르지 않습니다.

C:\>cd C:\Users\admin\PycharmProjects\pythonwork1

C:\Users\admin\PycharmProjects\pythonwork1>dir
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 2EB3-B1D7

 C:\Users\admin\PycharmProjects\pythonwork1 디렉터리

2020-04-10  오후 05:32    <DIR>          .
2020-04-10  오후 05:32    <DIR>          ..
2020-04-10  오후 05:36    <DIR>          .idea
2020-04-10  오후 05:32             3,378 contact.py
2020-04-10  오후 04:05                25 hello.py
2020-04-10  오후 03:32    <DIR>          venv
               2개 파일               3,403 바이트
               4개 디렉터리  454,151,737,344 바이트 남음

C:\Users\admin\PycharmProjects\pythonwork1>contact.py

C:\Users\admin\PycharmProjects\pythonwork1>
Microsoft Windows [Version 10.0.10240]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\admin>C:\Users\admin\PycharmProjects\pythonwork1\contact.py

C:\Users\admin>cd C:\Users\admin\PycharmProjects\pythonwork1\contact.py
디렉터리 이름이 올바르지 않습니다.

C:\Users\admin>cd\ C:\Users\admin\PycharmProjects\pythonwork1\contact.py
파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다.

C:\Users\admin>cdC:\Users\admin\PycharmProjects\pythonwork1\contact.py
파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다.

C:\Users\admin>cd..

C:\Users>cd..

C:\>cd C:\Users\admin\PycharmProjects\pythonwork1\contact.py
디렉터리 이름이 올바르지 않습니다.

C:\>cd C:\Users\admin\PycharmProjects\pythonwork1

C:\Users\admin\PycharmProjects\pythonwork1>dir
 C 드라이브의 볼륨에는 이름이 없습니다.
 볼륨 일련 번호: 2EB3-B1D7

 C:\Users\admin\PycharmProjects\pythonwork1 디렉터리

2020-04-10  오후 05:32    <DIR>          .
2020-04-10  오후 05:32    <DIR>          ..
2020-04-10  오후 05:36    <DIR>          .idea
2020-04-10  오후 05:32             3,378 contact.py
2020-04-10  오후 04:05                25 hello.py
2020-04-10  오후 03:32    <DIR>          venv
               2개 파일               3,403 바이트
               4개 디렉터리  454,151,737,344 바이트 남음

C:\Users\admin\PycharmProjects\pythonwork1>contact.py

C:\Users\admin\PycharmProjects\pythonwork1>contact.py

C:\Users\admin\PycharmProjects\pythonwork1>cd..

C:\Users\admin\PycharmProjects>cd..

C:\Users\admin>cd..

C:\Users>cd..

C:\>cd..

C:\>C:\Users\admin\PycharmProjects\pythonwork1\contact.py

C:\>cd C:\Users\admin\PycharmProjects\pythonwork1\contact.py
디렉터리 이름이 올바르지 않습니다.

C:\>cd C:\Users\admin\PycharmProjects\pythonwork1\contact.py
디렉터리 이름이 올바르지 않습니다.

C:\>cd C:\Users\admin\PycharmProjects\pythonwork1\contact.py
디렉터리 이름이 올바르지 않습니다.

C:\>cd C:\Users\admin\PycharmProjects\pythonwork1

C:\Users\admin\PycharmProjects\pythonwork1>python contact.py
Traceback (most recent call last):
  File "contact.py", line 104, in <module>
    run()
  File "contact.py", line 43, in run
    load_contact(contact_list)
  File "contact.py", line 87, in load_contact
    f = open("C:/Users/admin/PycharmProjects/pythonwork1/test.txt", "rt")
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/admin/PycharmProjects/pythonwork1/test.txt'

C:\Users\admin\PycharmProjects\pythonwork1>python contact.py
1. 연락처 입력
2. 연락처 출력
3. 연락처 삭제
4. 종료
메뉴선택:

+ Recent posts