교육2주차(1)

Taixi·2024년 8월 24일

생성형 AI 교육

목록 보기
4/35

모듈


모듈 가져오기(import)

  • from 공구통 import 플라이어
  • from 공구통 import * (모든공구)

모듈은 .py 그자체

import mymod

print(mymod.var)
mymod.myfunc()

모듈 import 해보기

>>> import tkinter
>>> tkinter.widget = tkinter.Label(None, text = 'I love python!')
>>> tkinter.widget .pack()

매번 모듈과 변수를 써주어야하니 번거롭다.


모듈의 종류 알아보자~~~!!

random 모듈

import random
print(random.random())


import random
abc = ['a', 'b', 'c', 'd', 'e']
random.shuffle(abc)
print(abc)

random 모듈 : 난수를 추출해주는 모델 0 ~ 1사이의 숫자
정수 = randrange() 사용
shuffle 함수 : 시퀀스를 뒤죽박죽으러 섞어 놓은 함수

패키지


여러 파이썬 파일과 디렉토리로 구성된 라이브러리를 패키지라고 부름

pymode/                 # 프로젝트의 최상위 디렉토리
│
├── example/            # 예제 코드 디렉토리
│
├── pymode/             # 패키지의 실제 코드가 있는 디렉토리
│   ├── __init__.py     # 패키지를 식별하는 파일
│   ├── a.py            # a 모듈
│   └── b.py            # b 모듈
│
└── setup.py            # 패키지 설치를 위한 설정 파일

Subprocess


새로운 프로세스를 실행하기 위해 도와주고, 프로세스의 입출력에 대한 리턴코드를 유저가 직접제어

subprocess- check_output

프로세스 리스트정보

import subprocess

output = subprocess.check_output("tasklist")
data = output.decode('cp949')
lines = data.splitlines()

for line in lines:
    print(line)

Run()

프로그램을 실행할 때

import subprocess

cmd = 'ls'

subprocess.run(cmd, shell = True)

popen ()

세밀하게 시스템 명령가능 , 실행시간이 길때 실시간으로 체크가능

  • 파이썬 프로그램 내에서 새로운 프로세스를 스폰하고 여기에 입출력 파이프를 연결하며 리턴코드를 획득할 수 있도록 하는 모듈
  • 사용방법: PoPen 인터페이스 사용
class subprocess.Popen(args, bufsize=-1, excutable=None, 
                       stdin=None, stdout=None, stderr=None, 
                       preexec_fn=None, close_fds=None, shell=False, 
                       cwd=None, env=None, universal_newlines=False, 
                       startupinfo=None, creationflags=0, restoreflags=0, 
                       restore_signals=True, start_new_session=False, pass_fds=()
                      )
  • args : 명령행에 문자열 혹은 입력될 인자들을 공백으로 자른 리스트
  • stdin, stdout, stderr : 표준입력, 표준출력, 표준에러의 표준입출력 리다이렉션
profile
개발자를 위한 첫시작

0개의 댓글