레이블이 Study-Python인 게시물을 표시합니다. 모든 게시물 표시
레이블이 Study-Python인 게시물을 표시합니다. 모든 게시물 표시

2018년 3월 21일 수요일

리눅스 python matplotlib 에서 한글 출력

우분투 리눅스에서 python 3.x 로 공부 중
matplotlib 를 이용한 그래프 출력하는데 한글이 출력 안된다

좌표를 보면 ㅁㅁ 이렇게 나오고 정상적으로 한글 출력이 안된다

font_manager.get_fontconfig_fonts()
현재 설치된 폰트 정보 출력


이미지 우측 바를 보면 알겠지만
우분투 내 설치된 모든 폰트가 출력이 되는데 이중에서 한글이 지원되는 폰트를 찾아야 한다
이전에 우분투 설치 시 나눔 폰트를 설치했기에 그걸 찾아서 연동 실행


font_location = '/usr/share/fonts/truetype/nanum/NanumBarunGothicBold.ttf'
font_name = font_manager.FontProperties(fname=font_location).get_name()
matplotlib.rc('font', family=font_name)

나눔폰트 찾은 것을 변수로 저장
환경 재설정 후 위에서 표를 출력한 것을 재실행


정상적으로 한글이 출력된 것을 확인할 수 있다

테스트 환경
우분투 리눅스 16.04
python 3.5
이미지 스크린샷 환경 - jupyter notebook 
참고 사이트



2017년 6월 4일 일요일

Python Network/Pentesting Tool

Python Network/Pentesting Tool

python 스터디에 참고하고자 블로그에 저장

https://github.com/m4n3dw0lf/PytheM

2016년 11월 27일 일요일

파이썬 python 공부하기 - 구구단출력 x03

구구단 출력 프로그램 만들기

함수 function 을 이용해서 구구단 출력

예제x01
# 구구단 2단 출력
num = 2
numa = 0

# 구구단 출력 값에 대한 함수 설정
def prt99(x, y):
z = x * y
return z

while numa < 10:
print(num, '*', numa, '=', prt99(num, numa))
numa = numa + 1


예제x02
# 구구단 2단 출력
num = 2
numa = 0

# 구구단 출력 값에 대한 함수 설정
def prt99(x, y):
z = x * y
return print(x, '*', y, '=', z)

while numa < 10:
prt99(num, numa)
numa = numa + 1




마지막 두 값의 결과가 나오는 것만 함수로 만들었다
더 만들고 싶지만 귀찮...

코드 테스트 환경
윈도우 window 10
파이썬 python 3.5.2
파이참 pycharm community edition 2016. 3.

파이썬 python 공부하기 - 구구단출력 x02

구구단 출력 프로그램 만들기

while 문과 for 문을 이용한 구구단 출력

# 구구단 2단 출력
num = 2
numa = 0

# while 이용
while numa < 10:
print(num, '*', numa, '=', num*numa)
numa = numa + 1

# for 이용
for i in range(0, 10):
print(num, '*', i, '=', num*i)


특별한 주석이 필요 없으리라 감히 믿어 의심치 않으며...

코드 테스트 환경
윈도우 window 10
파이썬 python 3.5.2
파이참 pycharm community edition 2016. 3.

파이썬 python 공부하기 - 구구단출력 x01

구구단 출력 프로그램 만들기

print 만을 사용해서 만들기

print("2 x 1 =", 2*1)
print("2 x 2 =", 2*2)
prt = 2*3
print("2 x 3 =", prt)
prt = 2 * 4
print("2 x 4 =", prt)
prt = 2 * 5
print(2, 5, " = ", prt, sep=" * ")
print(2, "*", 6, "=", 2*6)

print 뒤에 [sep=] 를 사용하면
출력되는 값 사이 사이에 해당 문구를 넣어서 출력하게 된다
그래서 출력하게 되면

2 * 5 * = * 10

이런 식으로 나온다

[sep=] 는, 일종의 순서, 정렬 출력을 할 때
보기 편하게 중간에 넣는 정도로 사용해야지
구구단과 같은 출력을 요구할 때는 맞지 않다

코드 테스트 환경
윈도우 window 10
파이썬 python 3.5.2
파이참 pycharm community edition 2016. 3.

2016년 10월 21일 금요일

우분투 ubuntu pip 설치 후 패키지 리스트 정리

root@aws-test:~# pip3 list
apturl (0.5.2ubuntu4)
chardet (2.2.1)
colorama (0.2.5)
command-not-found (0.3)
Django (1.8)
html5lib (0.999)
language-selector (0.1)
pip (1.5.4)
pycurl (7.19.3)
pygobject (3.12.0)
pyOpenSSL (0.13)
python-apt (0.9.3.5ubuntu2)
python-debian (0.1.21-nmu2ubuntu2)
requests (2.2.1)
setuptools (3.3)
six (1.5.2)
ubuntu-drivers-common (0.0.0)
ufw (0.34-rc-0ubuntu2)
unattended-upgrades (0.1)
urllib3 (1.7.1)
usb-creator (0.2.23)
wheel (0.24.0)
xkit (0.0.0)
root@aws-test:~#

2016년 9월 10일 토요일

python3 6자리를 랜덤으로 나오게 하기

숫자 문자 혼합 형태로 6자리를 랜덤으로 나오게 한다
for 문을 2회차 돌려서
6자리 숫자 문자를 10회 나오게 했다


#/usr/bin/python3
import random

ranname = " "
changen2e = "0123456789abcdefghijklmnopqrstuvwxyz"
chg = 0

for i in range(0, 10):
    bizname = " "
    for j in range(0,6):
        chg = random.randrange(0, 36, 1)
        ranname = ranname[:j] + changen2e[chg]
       
    print(ranname)
         
print("finished")

2016년 5월 17일 화요일

python - django 시작하기

실행환경
ubuntu 16.04
python 3.5.1
pip3 django 설치 후 1.9.6

python3 환경에서 django 설치 및 import 하기 위해서 pip3 를 설치한다
# apt-get install python3-pip

pip upgrade 하라는 메시지에 따라 upgrade 실행
# pip install --upgrade pip
# pip3 install Django

python3 환경에서 django 가 제대로 설치되어 있는지 확인한다
# python3
>> import django
>> print (django.get_version())

정상적으로 djanog 가 설치되었다면
print 에서 django 버전이 출력된다

2013년 2월 22일 금요일

python 메일 발송

컴퓨터 언어 공부를 시작할 필요성이 느껴서 결국 시작하게 되었고
python 을 가지고 다시 시작하게 되었다

일단 공부하는 중에
메일 발송하기 에 대한 블로그를 작성해 본다

해당 OS - ubuntu linux
python 버전 - 2.7.3
소스내용


#!/usr/bin/python

import smtplib
from email.MIMEText import MIMEText

from_email = 'testid@localhost' \\발신자 이메일
to_email = 'toemail@gmail.com' \\수신자 이메일

contents = 'Hi.\n this mail send the ubuntu linux\n' \\메일 내용
message = MIMEText(contents, _charset='euc-kr')
message['Subject'] = 'mail send' \\메일 제목
message['From'] = from_email
message['To'] = to_email

server = smtplib.SMTP('localhost') \\발신자 사용 메일 서버
localhost 로 지정을 하였으니 당연히 사용하려는 서버에 mail server 가 작동해야 한다
원격지 mail server 를 이용하여 메일 발송을 하려면,
server smtplib.SMTP('smtpserver name(서버 IP, 서버 DNS 이름 등을 적자)', 25)
-> server = smtplib.SMTP('smtp.server',25)

server.sendmail(from_email,[to_email],message.as_string())

server.quit()



server = smtplib.SMTP('smtp.server',25)
당연한 말이지만 원격지 mail server 에 대한 정보를 가지고 설정을 해줘야 한다
gmail 등을 이용하기 위해서라면, 해당 서버의 정보 및 ID/PW 등도 함께 설정해줘야 할 것이다