일련의 규칙에 맞춰 폴더를 생성하는 예제와 tar 파일을 extract하는 예제입니다.

import tarfile
import os

# 폴더 생성 예제
# Linux의 경우 '/'로 시작해야 하며, '~'로 home page를 표시할 수는 없음
srcFolderName = os.path.join('/home','apple', 'Downloads')
for i in range(1, 14):
    # Documents 폴더에 'Output_01', 'Output_03', ... , 'Output_13'을 생성
    dstFolderName = os.path.join('/home','apple', 'Documents', 'Output_'+'%02d'%i)
    
    # 예외 처리
    try:
        if not(os.path.isdir(dstFolderName)):
            os.makedirs(os.path.join(dstFolderName))
    except OSError as e:
        if e.errno != errno.EEXIST:
            print("Failed to create directory!!!!!")
            raise

" srcFolder에 있는 summary.tar.bz2 파일을 dstFolder에 extract
tar = tarfile.open(os.path.join(srcFolderName, 'summary.tar.bz2'), "r:bz2")
tar.extractall(dstFolderName)
tar.close()
반응형

'프로그래밍 > Python' 카테고리의 다른 글

[Python] Unicode error  (0) 2021.11.23
[Python] 디버깅  (0) 2020.05.03
[Python] Animation 예제  (0) 2020.05.03
[Python] matplotlib 예제  (0) 2020.05.03

Animation 예제입니다.

(참고링크)

import numpy as np
import matplotlib.pyplot as plt
import math
import matplotlib.animation as animation

def B(alpha, beta):
    return math.gamma(alpha) * math.gamma(beta) / math.gamma(alpha + beta)

def beta_pdf(x, alpha, beta):
# [0, 1] 구간 밖에서는 밀도가 없음
    if x < 0 or x > 1:
        return 0
    return x ** (alpha - 1) * (1 - x) ** (beta - 1) / B(alpha, beta)

x_data = []
y_data = []

fig, ax = plt.subplots()
ax.set_xlim(0, 1)
ax.set_ylim(0, 12)
line, = ax.plot(0, 0)

def animation_frame(i):
    xs = [x / 100.0 for x in range(0,100)]

    x_data = [x / 100.0 for x in range(0,100)]
    y_data = [beta_pdf(x, alpha=i,beta=i+10) for x in xs]

    line.set_xdata(x_data)
    line.set_ydata(y_data)

    return

anim = animation.FuncAnimation(fig, func=animation_frame, frames=np.arange(0.1, 80, 1), interval=50, repeat=False)
plt.show()

Jupyter notebook에서 예제를 시험할 때, animation이 동작하지 않을 수 있습니다.

이 경우에는 아래 코드를 먼저 실행한 후, 위 코드를 수행하면 animation 동작을 확인할 수 있습니다.

(참고링크)

%matplotlib notebook

 

 

반응형

'프로그래밍 > Python' 카테고리의 다른 글

[Python] Unicode error  (0) 2021.11.23
[Python] 디버깅  (0) 2020.05.03
[Python] 폴더 생성, tar 예제  (0) 2020.05.03
[Python] matplotlib 예제  (0) 2020.05.03

가장 기본적인 matplotlib 예제입니다.

# 필요한 라이브러리 import
import numpy as np
import matplotlib.pyplot as plt

# x = in_array, -np.pi ~ np.pi 30단계
# y = out_array, sine
in_array = np.linspace(-np.pi, np.pi, 30)
out_array = np.sin(in_array)

# plot reset
plt.clf()

# x, y축 range 지정
plt.ylim([-1.2, 1.2])
plt.xlim([0.0, 30.0])

# plot에 좌표(15, -0.5)에 text 추가
plt.text(15, -0.5, "Insert text")

# plot에 가로선 그리기 (red, 모양, 굵기)
plt.axhline(out_array.max(), color='r', linestyle ='--', linewidth=1)
# plot에 세로선 그리기 (blue, 모양, 굵기)
plt.axvline(np.argmax(out_array), color='b', linestyle='--', linewidth=1)

# plot 그리기
plt.plot(out_array)

# plot 보이기
plt.show()

실제 그린 그림입니다.

- End -

반응형

'프로그래밍 > Python' 카테고리의 다른 글

[Python] Unicode error  (0) 2021.11.23
[Python] 디버깅  (0) 2020.05.03
[Python] 폴더 생성, tar 예제  (0) 2020.05.03
[Python] Animation 예제  (0) 2020.05.03

+ Recent posts