- pip 로 package 설치
- 누군가가 작성한 package 를 설치하고 사용하는 방법
- 파이썬은 오픈 소스로 필요에 의해 매번 개발이 아닌 다른 사람이 개발해 놓은 패키지 등을 이용하여 효율적인 개발이 가능하다.
- 4-1. pypi 검색 후, browse projects 클릭
- Topic 등 원하는 구분별 패키지 검색 가능.
- 4-2. 해당 브라우져 에서 직접 검색
- beautifulsoup 검색 후, 해당 링크 클릭
- 링크 상단, clipboard copy 및 실제 코딩 확인 가능
- Visual Studio 내 pip 설치
- pip install 패키지명
- 진행 과정
- 예제 코딩 복사 후, 실행 확인
- 4.3 uprade 및 uninstall
* 해당 작업 전.....pip upgrade를 진행하라는 메세지를 진행하다...error가 생김...요거는 마지막에 다시 기재.
- 설치 전 설치되어 있는 pip 목록 확인(pip list) 실행이 안될 경우, 제일 아래로...
- pip list 정상 실행 시 package 명 과 version 정보를 확인 할 수 있음.
- pip show package명 으로 세부 정보를 확인 가능
- package upgrade
- package uninstall
- pip uninstall 패키지명 입력 후, y 로 진행할 경우 패키지 삭제가 완료됨.
- 추가. pip err(Warring, --upgrade, No module named 'pip' , pip upgrade, get-pip.py)
1. beautifulsoup4 정상 설치 후, pip 20.1.1 -> 20.2.3 으로 upgrade 를 권장하는 경고문이 발생하였다.
2. 설치된 pip list 를 확인하려 pip list 를 입력하였으나, _main__.py 관련 메세지가 발생하며 결과 검색이 되지 않아 pip upgrade를 진행해 보기로 함.
3. pip install --upgrade pip 를 실행 후....에도 pip 가 동작 하지 않고, No module named 'pip' 에러와 함께 pip가 갑자기 동작이 안되어 구글링 시작....
4. 어디선가 .... < curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py > 를 진행하라는 내용을 찾았으나, curl 실행 방법을 몰라 헤메기 시작....
5. 다른 방법 찾기 시작... get-pip.py 파일 직접 다운로드 받아 Vusaul Studio 에서 실행한 후, 정상.
6. get-pip.py 실행 ... 뭔가 진행 되는 듯하여 기대 중...ㅋㅋ
7. pip list 실행 시, 동작 확인
: import 없이 바로 사용할 수 있는 함수
: ex., input 등
language = input("무슨 언어를 좋아하세요?")
print("{0}은 아주 좋은 언어입니다.!" .format(language))
''' 결과 값 :
무슨 언어를 좋아하세요?파이썬
파이썬은 아주 좋은 언어입니다.!
'''
- dir :어떤 객체를 넘겨줬을 때 그 객체가 어떤 변수와 함수를 가지고 있는지 표시
- 외장 함수 random, pickle 을 import 한 후, 조회 해볼 경우, 추가되는 것을 확인 할 수 있음.
print(dir())
import random
print(dir())
import pickle
print(dir())
''' 결과 값 :
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__']
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'random']
['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'pickle', 'random']
'''
- 사용 가능 함수도 확인 가능 ( 함수 사용 시 '.' 이후 나타나는 함수 항목과 유사
import random
print(dir(random))
''' 결과 값 :
['BPF', 'LOG4', 'NV_MAGICCONST', 'RECIP_BPF', 'Random', 'SG_MAGICCONST',
'SystemRandom', 'TWOPI', '_Sequence', '_Set', '__all__', '__builtins__',
'__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__',
'__spec__', '_accumulate', '_acos', '_bisect', '_ceil', '_cos', '_e', '_exp',
'_inst', '_log', '_os', '_pi', '_random', '_repeat', '_sha512', '_sin', '_sqrt',
'_test', '_test_generator', '_urandom', '_warn', 'betavariate', 'choice', 'choices',
'expovariate', 'gammavariate', 'gauss', 'getrandbits', 'getstate', 'lognormvariate',
'normalvariate', 'paretovariate', 'randint', 'random', 'randrange', 'sample', 'seed',
'setstate', 'shuffle', 'triangular', 'uniform', 'vonmisesvariate', 'weibullvariate']
'''
- 리스트 형태에도 사용가능
lst = [1,2,3]
print(dir(lst))
''' 결과 값 :
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__',
'__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__',
'__getitem__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__',
'__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__',
'__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__',
'__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__',
'append', 'clear', 'copy', 'count', 'extend', 'index', 'insert', 'pop', 'remove',
'reverse', 'sort']
- 문자형도 사용 가능
name ='Jim'
print(dir(name))
''' 결과 값 :
['__add__', '__class__', '__contains__', '__delattr__', '__dir__', '__doc__',
'__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__',
'__getnewargs__', '__gt__', '__hash__', '__init__', '__init_subclass__',
'__iter__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__',
'__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__',
'__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'capitalize',
'casefold', 'center', 'count', 'encode', 'endswith', 'expandtabs', 'find',
'format', 'format_map', 'index', 'isalnum', 'isalpha', 'isascii', 'isdecimal',
'isdigit', 'isidentifier', 'islower', 'isnumeric', 'isprintable', 'isspace',
'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'maketrans', 'partition',
'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split',
'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper',
'zfill']
'''
- list of python builtins
: 내장 함수와 달리 import 를 통해 사용 가능한 함수
: list of python modules 검색 후, 외장 함수 목록의 세부 내용 확인 가능
- 6.1 glob : 경로 내의 폴더 / 파일 목록 조회 (윈도우 dir)
import glob
print(glob.glob("*.py")) # 확장자가 py 인 모든 파일
# 결과 값 : ['byme.py', 'get-pip.py', 'practice.py', 'theater_module.py']
- 6.2 os : 운영체제에서 제공하는 기본 기능
import os
print(os.getcwd()) # 현재 디렉토리
folder = "sample_dir"
# 결과 값 : D:\python\workspace
- if 문을 통해 폴더 생성 및 삭제 등도 가능함
import os
print(os.getcwd()) # 현재 디렉토리
folder = "sample_dir"
if os.path.exists(folder):
print("이미 존재하는 폴더입니다.")
os.rmdir(folder) # 폴더 삭제
print(folder, "폴더를 삭제하였습니다.")
else:
os.makedirs(folder) # 폴더 생성
print(folder, "폴더를 생성하였습니다.")
''' 해당 경로에 sample_dir 폴더가 없을 경우,
else 문을 타며 폴더 생성
sample_dir 폴더가 있을 경우,
folder 삭제
'''
- listdir 을 통해 해당 경로내 파일 확인 가능
import os
print(os.listdir())
# 결과 값 : ['.vscode', 'byme.py', 'get-pip.py', 'practice.py', 'profile.pickle', 'score.txt', 'study.txt', 'theater_module.py', 'travel_temp', '__pycache__']
- 6.3 time : 시간 관련 함수 제공
import time
print(time.localtime())
# 결과 값 : time.struct_time(tm_year=2020, tm_mon=10, tm_mday=12, tm_hour=0, tm_min=11, tm_sec=18, tm_wday=0, tm_yday=286, tm_isdst=0)
print(time.strftime("%Y-%m-%d %H:%M:%S")) # 대소문자 유의
# 결과 값 : 2020-10-12 00:11:18
- 6.4 datetime : 날짜 관련 함수 제공
import datetime
print("오늘 날짜는 ",datetime.date.today())
# 결과 값 : 오늘 날짜는 2020-10-12
#timedelta : 두 날짜 사이의 간격
today = datetime.date.today()
td = datetime.timedelta(days=100)
print("우리가 만난지 100일은" , today + td)
#결과 값 : 우리가 만난지 100일은 2021-01-20
-----------------------------------------------------------------
조건 : 모듈 파일명은 byme.py 로 작성
(모듈 사용 예제)
import byme
byme.sign()
(출력 예제)
이 프로그램은 나도코딩에 의해 만들어졌습니다.
유튜브 : http://youtube.com
이메일 : nadocoding@gmail.com
-----------------------------------------------------------------
Ans 1. 내가 작성한 코딩
1. byme.py 모듈 내 sign 함수 생성
def sign():
print("이 프로그램은 후즈테크에 의해 만들어졌습니다.\n \
유튜브 : http://whosetech.com \n \
이메일 : whosetech@gmail.com")
2. 함수 호출
import byme
byme.sign()
''' 결과 값 :
이 프로그램은 후즈테크에 의해 만들어졌습니다.
유튜브 : http://whosetech.com
이메일 : whosetech@gmail.com
'''
-----------------------------------------------------------------
Ans 2. 나도 코딩님 답안
- print 문을 탈출문자 사용하지 않고 3개로 만드는 것 외에 동일
-----------------------------------------------------------------
FeedBack
: Quiz 에 대한 난이도가 높지 않아 해당 Quiz 에 대한 피드백은 없음....
9월 13일 부터 시작한 기본편은 오늘로 졸업....
간략한 후기 작성 및 활용편으로 넘어가야 겠다 ㅋㅋㅋ
[Python 파이썬 독학 기본편] 졸업 (0) | 2020.10.12 |
---|---|
[Python 파이썬 독학 9-1일차] (0) | 2020.10.07 |
[Python 파이썬 독학 8일차] (0) | 2020.10.04 |
[Python 파이썬 독학 7-3일차] (0) | 2020.09.30 |
[Python 파이썬 독학 7-2일차] (0) | 2020.09.28 |
댓글 영역