반응형
반응형

[python] 소스경로와 실행경로가 다를때 os.chdir()

# 파이썬 컴파일 경로가 달라서 현재 폴더의 이미지를 호출하지 못할때 작업디렉토리를 변경한다.
import os
from pathlib import Path
# src 상위 폴더를 실행폴더로 지정하려고 한다.
real_path = Path(__file__).parent.parent
print(real_path)
#작업 디렉토리 변경
os.chdir(real_path)
# 파이썬 컴파일 경로가 달라서 현재 폴더의 이미지를 호출하지 못할때 작업디렉토리를 변경한다. 
import os
from pathlib import Path
# src 상위 폴더를 실행폴더로 지정하려고 한다.
real_path = Path(__file__).parent.parent
print(real_path)
#작업 디렉토리 변경
os.chdir(real_path)
처리내용 os 및 os.path pathlib
현재의 디렉토리를 취득 os.getcwd() Path.cwd()
맨 앞의 ~를 홈 디렉토리에 치환 os.path.expanduser() Path.expanduser(), Path.home()
경로의 존재 확인 os.path.exists() Path.exists()
디렉토리인가를 판단 os.path.isdir() Path.is_dir()
파일인가를 판단 os.path.isfile() Path.is_file()
심볼릭 링크인가를 판단 os.path.islink() Path.is_symlink()
절대경로인가를 판단 os.path.isabs() PurePath.is_absolute()
절대경로로 변환 os.path.abspath() Path.resolve()
status를 취득 os.stat() Path.stat(), Path.owner(), Path.group()
경로를 연결 os.path.join() PurePath.joinpath()
파일명을 취득 os.path.basename() PurePath.name
새로운 디렉토리를 취득 os.path.dirname() PurePath.parent
확장자를 분할·취득 os.path.splitext() PurePath.suffix

Pathlib - 객체 지향 파일 시스템 경로

객체 지향 파일 시스템 경로, 즉 파일을 객체로 관리하겠다는것 같음.
아래 그림은 Pathlib 내부 객체들의 상속관계로, 가장 기본적인 객체는 PurePath임을 알 수있음.
대략적인 객체간 의미와 관계를 알기 위해 라이브러리를 뜯어봄 -> pathlib.py

차이점

os.path  Pathlib의 가장 큰 차이점은, 경로를 문자열로 다루냐, 객체로 다루냐 차이인데, 모든 것이 객체로 이루어진 python 인 만큼, Pathlib가 자연스러운 모듈이며 객체 내부적으로 정의된 연산자를 사용할 수 있어 경로에 있어 더 자연스러운 표현이 가능함.

기본적인 사용법은 알아야, 나중에 쓸 일이 있으면 찾아보지 않고 쓸 수 있으니 대충정리해보자.

1. 탐색

논리적 경로와, 절대 경로와의 구분을 잘 해야 함. 논리 경로 상에서, 앵커나 빈 경로는 넘어갈 수 없음. 코드상으로 경로 탐색에 사용할 수 있는 것은, .parent, .parents, .iterdir() 등이 있음.

상위 디렉토리로 넘어가기 위해선, .parent를 사용하나, 사용하기 전 절대경로로 바꾸고, 현재 경로가 디렉토리이면, .iterdir()를 통해 자식 경로를 얻을 수 있음.

from pathlib import Path

p = Path('.') # PosixPath('.')
p.resolve() # os.path.abspath()

p.resolve().parent
list(p.iterdir()) # iteration, list 변환, = os.listdir()

2. 연산자

연산자를 사용하여 경로 조합 가능.

from pathlib import Path

p = Path.home() # os.path.expanduser()
p_sub = p / 'foo' / 'bar' # PosixPath('/Users/kyuu/foo/bar')
p_sub = Path(p, 'foo', 'bar') # os.path.join() 모방

https://docs.python.org/ko/3/library/pathlib.html

반응형
반응형

Program made with Python and Pygame module for visualizing sorting algorithms

Support this project by leaving a ⭐

 

  • Run: python3 src/main.py

https://github.com/LucasPilla/Sorting-Algorithms-Visualizer/tree/master

 

GitHub - LucasPilla/Sorting-Algorithms-Visualizer: Program made with Python and Pygame module for visualizing sorting algorithms

Program made with Python and Pygame module for visualizing sorting algorithms - GitHub - LucasPilla/Sorting-Algorithms-Visualizer: Program made with Python and Pygame module for visualizing sorting...

github.com

반응형
반응형

KeyboardEvent keyCode

<!DOCTYPE html>
<html>
<body>
<h1>Keyboard Events</h1>
<h2>The keyCode Property</h2>

<p>Press a keyboard key in the input field and display the value:</p>

<input type="text" size="40"   onkeypress="myFunction(event)">

<p id="demo"></p>
<p>The keyCode property is deprecated, use the key property instead.</p>

<script>
function myFunction(event) {
  let value= event.which;
  document.getElementById("demo").innerHTML = value;
}  
</script> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
	$("#inp").keypress(function(e){
		//검색어 입력 후 엔터키 입력하면 조회버튼 클릭
		if(e.keyCode && e.keyCode == 13){
			$("#btn").trigger("click");
			return false;
		}
		//엔터키 막기
		if(e.keyCode && e.keyCode == 13){
			  e.preventDefault();	
		}
	});
	$("#btn").click(function(){
		alert("이벤트 감지");
	});
});
</script>
<input type="text" class="form-control input-sm" id="inp" name="inp">
<button type="button" class="btn btn-primary btn-sm" id="btn" name="btn">조회</button>
</body>
</html>

 

 

반응형
반응형

[python] Use Phone Camera with python 

 

https://thecleverprogrammer.com/2021/01/05/use-phone-camera-with-python/

 

Use Phone Camera with Python | Aman Kharwal

In this article, I will walk you through how to use your phone camera with Python for computer vision. Use the Phone Camera with Python.

thecleverprogrammer.com

install CV : https://pypi.org/project/opencv-python/  

""" https://thecleverprogrammer.com/2021/01/05/use-phone-camera-with-python/

    https://pypi.org/project/opencv-python/
    > pip install opencv-python
    > pip install opencv-contrib-python
"""
import cv2
import numpy as np

url = "Your IP Address/video"

cap = cv2.VideoCapture(url)

while(True):
    camera, frame = cap.read()
    if frame is not None:
        cv2.imshow("Frame", frame)
    q = cv2.waitKey(1)
    if q==ord("q"):
        break

cv2.destroyAllWindows()

 

https://stackoverflow.com/questions/50185654/opencv-load-video-from-url

 

OpenCV load video from url

I have a video file (i.e. https://www.example.com/myvideo.mp4) and need to load it with OpenCV. Doing the equivalent with an image is fairly trivial: imgReq = requests.get("https://www.example.com/

stackoverflow.com

 

 

 

반응형
반응형

Google 지도 서비스용 Python 클라이언트

파이썬을 사용합니까? 무언가를 지오코딩하고 싶습니까? 방향을 찾고 계십니까? 아마도 방향의 행렬일까요? 이 라이브러리는 Google Maps Platform 웹 서비스를 Python 애플리케이션에 제공합니다.

Google Maps Services용 Python 클라이언트는 다음 Google Maps API용 Python 클라이언트 라이브러리입니다.

  • 길찾기 API
  • 거리 행렬 API
  • 고도 API
  • 지오코딩 API
  • 지리적 위치 API
  • 시간대 API
  • 도로 API
  • 장소 API
  • 지도 정적 API
  • 주소 확인 API

 

요구 사항

  • 파이썬 3.5 이상.
  • Google 지도 API 키입니다.

API 키

각 Google 지도 웹 서비스 요청에는 API 키 또는 클라이언트 ID가 필요합니다. API 키는 Google Cloud Console 'API 및 서비스' 탭의 '사용자 인증 정보' 페이지에서 생성됩니다 .

Google Maps Platform 시작하기 및 API 키 생성/제한에 대한 자세한 내용은 Google 문서에서 Google Maps Platform 시작하기를 참조하세요.

중요: 이 키는 서버에서 비밀로 유지되어야 합니다.

설치

$ pip install -U googlemaps

연결/읽기 제한 시간을 지정하려면 요청 2.4.0 이상이 필요합니다.

 

 

https://pypi.org/project/googlemaps/

 

googlemaps

Python client library for Google Maps Platform

pypi.org

 

https://github.com/googlemaps/google-maps-services-python

 

GitHub - googlemaps/google-maps-services-python: Python client library for Google Maps API Web Services

Python client library for Google Maps API Web Services - GitHub - googlemaps/google-maps-services-python: Python client library for Google Maps API Web Services

github.com

 

반응형
반응형

반응형

+ Recent posts