본문 바로가기
Web & Mobile/Python

Lecture 88 - Python(8) 파이썬을 이용한 우편번호 검색기, nCloud에 python 3 설치

by Bennyziio 2019. 8. 1.
반응형

파이선을 활용한 우편번호 검색기 - 강사님 Version

ZipSearch.migrationEx01

file = open('zipcode_seoul_utf8_type2.csv', 'r', encoding='utf8')

line = file.readline()
while line:
	lines = line.split(',')
	# statement처럼
	print("insert into zipcode values(%s, '%s', '%s', '%s', '%s', '%s', '%s')" %\
		 (lines[6], lines[0], lines[1], lines[2], lines[3], lines[4], lines[5]))
	line = file.readline()

file.close()

ncloud mariadb에서 sample이라는 database를 만든다.

MariaDB [(none)]> create database sample;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> use sample;
Database changed
MariaDB [sample]> create table testtbl (col1 varchar(10));
Query OK, 0 rows affected (0.00 sec)

MariaDB [sample]> insert into testtbl values ('한글');
Query OK, 1 row affected (0.00 sec)

MariaDB [sample]> select * from testtbl;
+--------+
| col1   |
+--------+
| 한글   |
+--------+
1 row in set (0.00 sec)

putty로 ncloud 공인 ip 주소로 아래와 같이 실행이 되는지 확인해 보자
이게 되면 똑같이 mysql workbench에서 설정해주면 된다.

'''
Created on 2018. 9. 19.

@author: kitcoop
'''
import MySQLdb

config = {
	'host': '106.10.58.158',
	'user': 'root',
	'password': '!123456!',
	'database': 'sample',
	'charset': 'utf8',
	'use_unicode': True
	}

try:
	conn = MySQLdb.connect(**config)
	cursor = conn.cursor()
	# 파일 -> insert
	# 한 줄씩
	file = open('zipcode_seoul_utf8_type2.csv', 'r', encoding='utf8')
	
	line = file.readline()
	while line:
		lines = line.split(',')
		# statement처럼
# 		print("insert into zipcode values(%s, '%s', '%s', '%s', '%s', '%s', '%s')" %\
# 			 (lines[6], lines[0], lines[1], lines[2], lines[3], lines[4], lines[5]))
		sql = ("insert into zipcode values('%s', '%s', '%s', '%s', '%s', '%s', %s)" %\
			 (lines[0], lines[1], lines[2], lines[3], lines[4], lines[5], lines[6]))
		
		cursor.execute(sql)
		
		line = file.readline()
	conn.commit()
	cursor.close()
	file.close()
except MySQLdb.Error as err:
	print('에러 : ' + err)
else:
	conn.close()
	print('전송완료')

ZipSearch.zipcodesearchEx01

'''
Created on 2018. 9. 19.

@author: kitcoop
'''
import MySQLdb

config = {
	'host': '106.10.58.158',
	'user': 'root',
	'password': '!123456!',
	'database': 'sample',
	'charset': 'utf8',
	'use_unicode': True
	}

dong = input('동을 입력해주세요 : ')
if (len(dong) <= 1):
	print('동이름은 한 자 이상 입력하셔야 합니다.')
	exit()
else:
	try:
		conn = MySQLdb.connect(**config)
		cursor = conn.cursor()
		# statement 기법
		# sql = ("select zipcode, sido, gugun, dong, ri, bunji from zipcode where dong like '" + dong + "%'")
		# prestatement 기법
		sql = ("select zipcode, sido, gugun, dong, ri, bunji from zipcode where dong like %s")
		sql_data = ([dong + '%'])
		cursor.execute(sql, sql_data)
		
		for(zipcode, sido, gugun, dong, ri, bunji) in cursor:
			print('[', zipcode, ']', sido, gugun, dong, ri, bunji)
		
		cursor.close()	
		
	except MySQLdb.Error as err:
		print('에러 : ' + err)
	else:
		conn.close()

ncloud 서버에 python이 2버전이 기본으로 설치 되어 있다. 3버전을 설치해보자.

http://depository.tistory.com/2

yum install -y https://centos7.iuscommunity.org/ius-release.rpm

yum search python36

yum install -y python36u python36u-libs python36u-devel python36u-pip

python3.6

which python3.6

반응형

댓글