Python에서 한글 파일 읽기 오류 해결


#-*- coding: utf-8 -*-
# mail address 자르기
#--------------------------------------------
# 1. 파일 열기 (두번)
# 2. 파일 읽기
# 3. 텍스트 변경(; --> ;\n)
# 4. 파일 쓰기
# 5. 파일 종료
#--------------------------------------------
# 한글 읽기 파일 오류 해결 방법
# ==> input_fp= open(input_path,"rt", encoding="UTF8")
#--------------------------------------------

import os
#현재 script가 있는 파일 디렉토리 경로 찾기 currentPath = os.path.dirname(os.path.abspath(__file__))
print(currentPath)

input_file='/test_org.txt'
output_file='/mail_list.txt'
input_path = currentPath+input_file
output_path = currentPath+output_file

input_fp= open(input_path,"rt", encoding="UTF8")
output_fp= open(output_path,"w")
lines = input_fp.readlines()
print(lines)

for line in lines:
print(line)
temp=line
edited_temp = line.replace(";", ";\n")
output_fp.writelines(edited_temp)

input_fp.close()
output_fp.close()

반응형

ㅇ MS워드에서 줄 간격 조절
>상단 메뉴> 홈 > 단락 > (확대) > 간격 >
> 줄 간격 : 고정 선택 후에 값 변경하기

ㅇ장평 조절
>상단 메뉴> 홈> 글꼴 > (확대) > 고급 탭 >
> 간격 : 좁게 선택 후에 값 변경

ㅇ 단축키 : ctrl + Y
ctrl + Y : 이전에 했던 작업 반복하기
예) 장평 조절 하고 다른 칸에서 반복 적용

반응형

 

selenium설치하고 webdriver 다운 받아 실행한 뒤에 아래 코드로 자동화 확인함


import time from selenium import webdriver # 크롬 웹드라이버를 이용하여 크롬을 실행
driver = webdriver.Chrome('C:/Python37/Project/chromedriver_win32/chromedriver.exe')

#네이브로 이동
driver.get("http://www.google.com") time.sleep(2)

# html elemnt 이름이 q인것을 찾습니다. inputElement = driver.find_element_by_name("q") time.sleep(2)

#검색창에 www.ngle.co.kr을 입력 inputElement.send_keys("www.ngle.co.kr") time.sleep(2)

# 검색 냉용을 보냄
inputElement.submit()
time.sleep(2)

# 검색된 리스트 중 링크 텍스트에 "THE BEST BUSINESS PLAN'이 포함된 것을 찾음 continue_link = driver.find_element_by_partial_link_text('THE BEST BUSINESS PLAN')
time.sleep(2)

#해당 링크를 클릭함 continue_link.click() time.sleep(5)
driver.quit()

반응형

라즈베리파이 모바일 핫스팟 연결 설정

라즈베리파이에서 모바일 핫스팟을 통해 인터넷을 연결하려고 와이파이를 추가했지만 안되다가

지역을 ‘US’로 설정하니 연결되었음

 

그 전에 /etc/wpa_supplicant/wpa_supplicant.conf에 key_mgmt=WPA-PSK도 추가함

network = {
ssid=“iPhone”
psk= “**********”
key_mgmt=WPA-PSK
}

 

 

반응형
반응형

책에서 인터넷 사진 내려 받기 코드를 실행하면 permission denied 에러가 발생한다.

이럴때 아래와 같이 os 모듈로 디렉토리 변수를 설정하면 정상 저장된다



###########################################################################
## 절대 파일 경로와 Python script가 있는 디렉토리 구하기
########################################################################### import os
#
# # 절대 경로 만들기
# mypath = "C:\Pathon36"
# fullfilename = os.path.join(mypath,"text.txt")
# print(mypath)
# print(fullfilename)
#
#
# #현재 script가 있는 파일 디렉토리 경로 찾기 currentPath = os.path.dirname(os.path.abspath(__file__))
print(currentPath)

반응형


o ALG(Application Layer Gateway)
ALG는 IP 패킷의 Payload안에 포함된 IP 주소를 변환하는 기능을 수행한다.

An Application Layer Gateway (ALG) enables the gateway to parse application layer payloads and
take decisions whether to allow or deny traffic to the application server.

반응형


Docker는 컨테이너 가상화 기술을 사용하여 애플리케이션 실행환경을 구축 및 운영하기 위한 플랫폼


o 가상화 유형 3가지
1. 호스트 가상화 : 예) VMware
2. 하이퍼바이저 가상화 : 예) Zen sever
3. 컨테이너 가상화 : 예) docker

반응형

라즈베리파이 모션인식센터 연결과 동작 성공

간단하게 모션인식센서 입력 받아서 라즈베리파이에서 받아서 출력하기

 

모션인식센서는 아래와 같다.

​​​




센서 출력은 3개로 VCC, OUT, GND 이며

이를 순서대로 라즈베리파이의 GPIO에 2번, 6번, 26번(GPIO7)에 연결한다.

LED, Switch가 있으나 핀연결은 위와 같다.



다음 파이썬코드로 모션인식센서의 출력 확인한다.

[Python Code # 라인표시]
# 1 #coding: utf-8
# 2
# 3 import RPi.GPIO as GPIO
# 4 import time
# 5
# 6 GPIO.setmode(GPIO.BCM)
# 7 PIR=7
# 8
# 9 GPIO.setup(PIR, GPIO.IN)
# 10
# 11 try:
# 12
# 13 while 1:
# 14 if GPIO.input(PIR):
# 15 print("Motion Dectected")
# 16 else:
# 17 print("No Motion")
# 18 time.sleep(0.5)
# 19 except KeyboardInterrupt:
# 20 pass
# 21
# 22 GPIO.cleanup()

최종 결과! 너무 자주 감지되는 것 같아 잘못 했나 싶었지만 좀 느리고 넓은 영역에서 인지되는 것 같다!

반응형

'아는 것이 힘 > IT세상' 카테고리의 다른 글

ALG(Application Layer Gateway)  (0) 2019.07.24
[Docker] 컨테이너, 가상화  (0) 2019.07.22
[라즈베리파이] LED 불켜기  (0) 2019.05.02
Python 문자열 포매팅  (0) 2019.02.20
183/PRACK 절차  (0) 2019.01.25

라즈베리파이(B2+)로 전자회로 제어 첫걸음인 LED불켜기




​회로도
- 아래와 같이 빵판에 구성해서 불이 들어오는지 본다.

# o +3.3V
# |
# ▽
# ㅡ
# |
# -------∞∞∞(1.3kΩ)------> 3번 pin 연결

먼저 GND에 연결하여 불 들어오는지 확인해본다.
[매우 중요] 아래 코드에서 3번은 물리적인 3번째 PIN이다. (GPIO 03아님)


​Python source code
# 1 #coding: utf-8
# 2
# 3 import RPi.GPIO as GPIO
# 4 import time
# 5
# 6 GPIO.setmode(GPIO.BOARD)
# 7 LED=3
# 8
# 9 GPIO.setup(LED, GPIO.OUT, initial = GPIO.LOW)
# 10
# 11 try:
# 12
# 13 while 1:
# 14
# 15 GPIO.output(LED, GPIO.HIGH)
# 16 time.sleep(0.5)
# 17 GPIO.output(LED, GPIO.LOW)
# 18 time.sleep(0.5)
# 19
# 20 except KeyboardInterrupt:
# 21 pass
# 22
# 23 GPIO.cleanup()







반응형

Python에서 문자열 대입하기


"I have %s apples" %3
==> I have 3 apples

"Error is %d%%."%98
==> Error is 98%

"I eat {0} apples".format(3)
==> I eat 3 apples

반응형


단말이 INVITE의 Support헤더로 100rel전송
서버는 183응답 Require헤더에 100rel 수록 응답하여 Early Media 사용 응답(Supported:100rel도 수록)
단말은 PRACK 응답
서버는 200(PRACK) 응답하며 미디어 송출

먼저 183으로 연결음 이후에 두번째 183 으로 안내멘트 보낼 때는 다이얼로그 갱신해야 단말은 재전송이 아님을 인지하고 PRACK 응답함

반응형

[PYTHON/웹 개발] django frame & 작업 흐름(1)에 이어서 이미 있는 프로젝트에 애플리케이션을 추가하는 과정이다.

​1. Project에 신규 Application 추가 생성
​: django manage.py로 애플리케이션을 생성한다.



2. UI, Model, flow 설계
​: 화면에 보여질 내용, 이를 저장할 테이블, url 관계도를 설계한다.



3. Coding 하기
​: 설계한 MTV를 설정하고 데이터베이스 변경사항을 반영하고 urls.py, view.py, *.html파일을 코딩한다.
view class를 활용함으로써 view code는 상당히 간소해졌다.

반응형

'아는 것이 힘 > IT세상' 카테고리의 다른 글

Python 문자열 포매팅  (0) 2019.02.20
183/PRACK 절차  (0) 2019.01.25
[PYTHON/웹 개발] django frame & 작업 흐름(1)  (0) 2018.10.26
[code/python] 정규식(Regular expression)  (0) 2018.10.26
AMR Frame Type & Timestamp  (0) 2018.05.08

python django로 웹 애플리케이션 개발 흐름

1. 장고 뼈대 만들기
: 프로젝트 디렉토리를 만들고 django 명령어 실행하여 프로젝트 생성과 애플리케이션을 만들어 준다.



2. UI & Flow 설계
: 사용자에게 어떤 화면을 보여 줄 지와 화면에 보여주는 오브젝트를 DB 테이블로 설계한다.




3. view & html 코딩
: 접속하는 URL에 따라 실행될 함수를 만들어주고 함수 처리가 완료되었을 때 앞에서 설계한 화면으로 보여주기 위한 템플릿을 python tag와 html로 코딩한다



4. debugging
: 서버를 구동하여 처리흐름별로 접속해보면서 에러 체크하고 구글 신의 도움을 받아 정정한다.

o mysite/url.py
1) import 수정
# 수정 전
from django.conf.urls import patterns, url
from polls import views

# 수정 후
from django.conf.urls import url, include # include 추가(NameError 참고)
from polls import views
from django.contrib import admin #추가 (아래 'admin'is not define 참고)


2) urlpatterns 수정
수정전
urlpatterns = patterns('',
url(r'^polls/$', views.index, name = 'index'),
url(r'^polls/(?P<question_id>\d+)/$', views.detail, name='detail'),
url(r'^polls/(?P<question_id>\d+)/vote/$', views.vote, name='vote'),
url(r'^polls/(?P<question_id>\d+)/vote/$', views.results, name='results'),
url(r'^admin/', include(admin.site.urls)),
)

수정 후
urlpatterns = [
url(r'^$', views.index, name = 'index'),
url(r'^polls/$', views.index, name = 'index'),
url(r'^polls/(?P<question_id>\d+)/$', views.detail, name='detail'),
url(r'^polls/(?P<question_id>\d+)/vote/$', views.vote, name='vote'),
url(r'^polls/(?P<question_id>\d+)/vote/$', views.results, name='results'),
url(r'^admin/',admin.site.urls),
]



o view.py
수정 전
from django.core.urlresolvers import reverse

수정 후
from django.urls import reverse
​​

반응형

'아는 것이 힘 > IT세상' 카테고리의 다른 글

183/PRACK 절차  (0) 2019.01.25
[PYTHON/웹 개발] django application 추가작업 흐름(2)  (0) 2018.11.07
[code/python] 정규식(Regular expression)  (0) 2018.10.26
AMR Frame Type & Timestamp  (0) 2018.05.08
[엑셀 TIP] 단축키  (0) 2018.04.02

Python Django 에 사용되는 정규식



*************************************************
정규식
*************************************************
.(Dot) : 모든 문자 하나
^(Caret): 문자열의 시작
$ : 문자열의 끝
[] : []괄호에 있는 문자 하나
[^] : []괄호에 있는 문자 이외의 문자 하나
* : 0번 이상 반복, {0,}와 동일
+ : 1번 이상 반복, {1,}와 동일
? : 0번 또는 1번 반복, {0,1}
{n} : n번 반복
{m,n} : 최소 m번에서 최대n번까지 반복
| : 예를 들어 A|B라면 A또는 B
[a-z] : a에서 z까지 임의의 문자 하나
\w : 영문, 숫자 또는 밑줄(_)한 개
\d : 숫자 한개, [0-9]와 동일​

반응형

+ Recent posts