파이썬에서 클래스를 선언함에 있어서
class 클래스명 :
__init (self, *args) :
pass
로 만들어 지는데 간혹
class 클래스명 (object) :
__init (self, *args) :
pass
로 만들어 질때를 볼 것이다. 이것은
print(dir(클래스명))
으로 쉽게 확인 할수 있다.
제일 위에 것으로 선언했을 경우는
# ['__doc__', '__module__']
아래에 있는 것으로 선언했을 경구는
# ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__']
이렇게 나온다. 이렇듯 기본적으로 있는 properties을 사용하고 한다면 (object)를 파라미터를 넣어 선언 해주면 된다.
Little Think Tree
Ninetwo's Study Blog
2015/08/19
2015/08/13
[파이프라인] 초기 프로그램 환경 변수 및 파이썬 설치하기
@echo off :: 디폴트 변수 설정 set tempPath=K:\programs set version=2.7.3 set pythonInstallPath=\language\python\%version%\python-%version%.amd64.msi :: 출력 echo ### 프로그램 환경 변수 입력하기 ### echo ================================= echo [DEFAULT PATH] %tempPath% echo 아무것도 입력하지 않으면 [DEFAULT PATH]가 입력됩니다. echo --------------------------------- :: Input 입력하기 :: 입력이 없을 경우 [DEFAULT PATH]가 입력됨 set /p inputPath="프로그램 경로 : " IF NOT DEFINED inputPath ( set prog_Path=%tempPath% ) else ( set prog_Path=%inputPath% ) :: 환경변수에 등록하기 setx PROGRAM_PATH %prog_Path% /m :: --------------------------------- 선택 옵션 ::REG QUERY HKCU\Environment /V PROGRAM_PATH ::IF errorlevel 1 ( :: setx PROGRAM_PATH %prog_Path% /m ::) else ( :: 누적시키기 :: setx PROGRAM_PATH %PROGRAM_PATH%;%prog_Path% /m ::) :: --------------------------------- :: 출력 echo. echo. echo. echo --------------------------------- echo ※Result※ echo --------------------------------- echo [PROGRAM PATH] : %PROGRAM_PATH% :: python 설치 되었는지 파악하기 set pyCheck=no set pyInstall=YES :: version에서 앞자리 3자리까지만 사용함 REG QUERY HKLM\SOFTWARE\Python\PythonCore\%version:~0,3%\InstallPath /ve IF NOT errorlevel 1 (set pyCheck=yes) REG QUERY HKLM\SOFTWARE\Wow6432Node\Python\PythonCore\%version:~0,3%\InstallPath /ve IF NOT errorlevel 1 (set pyCheck=yes) REG QUERY HKCU\SOFTWARE\Python\PythonCore\%version:~0,3%\InstallPath /ve IF NOT errorlevel 1 (set pyCheck=yes) :: 출력 echo. echo. echo. echo. echo. echo ### 파이썬 %version% 설치하기 ### echo ================================= :: 있으면 설치 여부 파악하기 IF %pyCheck% == yes ( echo 이미 설치되어 있습니다. echo --------------------------------- set /p pyInstall="설치하겠습니까?[YES/NO] : " ) :: 설치하기 :: /I 는 대소문자 구분 무시하기 IF /I %pyInstall% == yes ( %PROGRAM_PATH%%pythonInstallPath% echo %PROGRAM_PATH%%pythonInstallPath% echo --------------------------------- echo ※Result※ echo --------------------------------- echo python %version% 설치가 완료 되었습니다. echo. :: 파이썬 버전 환경변수에 입력 setx PYTHON_VERSION Python%version:~0,1%%version:~2,1% /m echo Python%version:~0,1%%version:~2,1% 이 환경변수에 입력되었습니다. ) else ( echo --------------------------------- echo ※Result※ echo --------------------------------- echo python %version% 설치가 중지 되었습니다. ) pause
Category:
cmd,
environment variable,
install,
pipeline
2015/08/12
[임시][파이썬] 파이썬에서 레지스트리 값 가져오기
import _winreg as winreg def regkey_value(path, name="", start_key = None): if isinstance(path, str): path = path.split("\\") if start_key is None: start_key = getattr(winreg, path[0]) return regkey_value(path[1:], name, start_key) else: subkey = path.pop(0) with winreg.OpenKey(start_key, subkey) as handle: assert handle if path: return regkey_value(path, name, handle) else: desc, i = None, 0 while not desc or desc[0] != name: desc = winreg.EnumValue(handle, i) i += 1 return desc[1] # example usage bios_vendor = regkey_value(r"HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS", "BIOSVendor")
출처 : https://code.activestate.com/recipes/578689-get-a-value-un-windows-registry/
분석 필요함
2015/08/11
[임시] 파이프라인 설치시
cmd를 공부함에 있어 더이상 효과적으로 관리가 불가능하다고 느껴진다. 그리하여 python만 현재 버전을 체크해서 해당 버전이 없다면 설치하는 방법으로 가야 할듯하다.
모든 사용자의 설정을 같은 설정으로 동기화를 시킬 필요가 있다. 이때 우선 순위는 다음과 같다.
[프로그램 설치] 환경변수가 있는지 확인 한다.
파이썬 레지스트리 값 찾기
인스톨 함에 있어서 현재 파이썬이 설치가 되었는지에 대해서 파악을 할 수 있어야 한다 이때 체크 할 수 있는 것이 registry key value이다. 이는 window에서 install이 되면 해당 registry value 값을 입력 하게 되어 있기 때문이다. 이가 없을 경우는 설치가 되질 않았다고 봐도 된다.
python 2.x version registry value path
HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\<version>\InstallPath
그에 해당하는 path는 위에서 표기한 것과 같다. 만약 존재 하지 않는다면 아래 경로도 체크를 해봐야 하는게 좋다. (현재 개인 컴퓨터에서 체크 했을땐 위 경로가 나왔음)
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\<version>\InstallPath
모든 사용자의 설정을 같은 설정으로 동기화를 시킬 필요가 있다. 이때 우선 순위는 다음과 같다.
- [프로그램 설치] 환경변수가 있는지 확인 한다.
- [프로그램 설치] 환경변수가 없다면 설정 한다.
- 해당 버전의 파이썬이 설치가 되었는지 확인 한다.
- 해당 버전의 파이썬을 설치를 한다.
- 파이썬으로 제어 한다.
[프로그램 설치] 환경변수가 있는지 확인 한다.
파이썬 레지스트리 값 찾기
인스톨 함에 있어서 현재 파이썬이 설치가 되었는지에 대해서 파악을 할 수 있어야 한다 이때 체크 할 수 있는 것이 registry key value이다. 이는 window에서 install이 되면 해당 registry value 값을 입력 하게 되어 있기 때문이다. 이가 없을 경우는 설치가 되질 않았다고 봐도 된다.
python 2.x version registry value path
HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\<version>\InstallPath
그에 해당하는 path는 위에서 표기한 것과 같다. 만약 존재 하지 않는다면 아래 경로도 체크를 해봐야 하는게 좋다. (현재 개인 컴퓨터에서 체크 했을땐 위 경로가 나왔음)
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python\PythonCore\<version>\InstallPath
만약 3.x 인 경우는
python 3.x version registry value path
HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\<version>\InstallPath
에 path가 검색된다고 한다.
2015/08/06
simple style scrollbar webkit
스크롤에 대한 webkit
스크롤에 대한 css webkit임.
webkit에 대한 자세한 사항은 구글 검색으로도 쉽게 찾을 수 있음.
webkit에 대한 자세한 사항은 구글 검색으로도 쉽게 찾을 수 있음.
::-webkit-scrollbar-thumb:vertical{height:10px;background-color:#999} ::-webkit-scrollbar{width:5px;height:5px;background:#fff} ::-webkit-scrollbar-track-piece{background-color:#eee}
구글 블로그에 Syntax Highlighter 설치하기
Syntax Highlighter Web에서 연동시키기
web에서 code를 기입하는데 가장 많이 사용되는 js가 Syntax Highlighter 이다.
google blog에서는 외부의 css를 지원하기 때문에 아래 방법으로 접근이 가능하다.
참고 : http://anshnote.blogspot.kr/2011/07/syntax-highlighter-blogger.html
개인 ref : blog >> google blog에 Syntax Highlighter 설치하기.mht
google blog에서는 외부의 css를 지원하기 때문에 아래 방법으로 접근이 가능하다.
참고 : http://anshnote.blogspot.kr/2011/07/syntax-highlighter-blogger.html
개인 ref : blog >> google blog에 Syntax Highlighter 설치하기.mht
2015/08/04
cmd 에서 echo off 하는 이유
배포판 batch 파일 만들 때 echo off 하기
우선은 cmd에서는 명령어를 기본으로 하기 때문에 명령어가 실행이 되면 어떤 명령어가 되었는지 따라 적히는 일명 복창(반복)이 된다. 이때 명령어이기 때문에 줄이 길어지고 헷갈리게 될 수가 있는데 이럴때에는
이때 echo는 프로그래밍에서 print와 같은 성격이며 앞에 @를 붙이지 않았다면 off를 출력하겠다는 뜻으로 해석되기 때문에 반드시 @를 붙여줘야 한다.
참고 : http://mwultong.blogspot.com/2006/05/dos-echo-off.html
개인 ref : pipeline >> cmd에서 echo off 하는 이유.mht
@echo off를 사용해서 끌 수가 있음. 기본적으로는 on이 되어 있음. batch파일 제일 앞에 위 명령어를 사용하면 두번 다시 보지 않아도 된다. (하지만 어떤 명령어가 완료 된지 모르기 때문에 echo 상태 를 적어주는 것을 권장)
이때 echo는 프로그래밍에서 print와 같은 성격이며 앞에 @를 붙이지 않았다면 off를 출력하겠다는 뜻으로 해석되기 때문에 반드시 @를 붙여줘야 한다.
참고 : http://mwultong.blogspot.com/2006/05/dos-echo-off.html
개인 ref : pipeline >> cmd에서 echo off 하는 이유.mht
Category:
cmd,
environment variable,
pipeline
환경변수 체크하기
환경변수 체크하기
우선은 자동화를 만들기 위해선 환경변수를 제대로 활용을 해야 한다. 이때 서로의 환경변수가 틀리기 때문에 이를 동기화를 시킬 필요가 있다. 이때 우선순위를 두고 이뤄져야 하는 작업이 환경변수를 체크하는 일이다.
만약 키값이 없다면 error를 뱉는데 이때 error를 뱉지 않는다면 true값을 뱉으면 false로 가면되기 때문이다.
위에 있는 문법은 다소 생소 할수가 있다. 이때 cmd prompt에서 for /? 를 치면 자세한 도움말을 볼수가 있다. 위와 같은 형태는 cmd에서 사용되는 형태이다. 이를 분석하면 아래와 같다.
모든 environment variables 를 가져오기
모든 변수의 list를 가져오는 방법은 의외로 간단하다.
이렇게 변수들이 무엇이 설정이 되어 있는지는 볼 수가 있으나 이걸 리스트 형태로 받아 올 수는 없어 보인다. (내가 못찾은거 일수도... 나중에 찾아보기)
그래서 해당하는 환경 변수가 있는지 없는지를 판단하는 무엇이 필요해 보인다.
set을 치면 현재 선언된 변수들이 보여진다. 환경변수는 dos prompt를 실행 할 때 자동으로 실행이 되어 기본 변수들로 치환된다. (linux에서 커널과 같음)
이렇게 변수들이 무엇이 설정이 되어 있는지는 볼 수가 있으나 이걸 리스트 형태로 받아 올 수는 없어 보인다. (내가 못찾은거 일수도... 나중에 찾아보기)
그래서 해당하는 환경 변수가 있는지 없는지를 판단하는 무엇이 필요해 보인다.
현재 환경변수가 선언되었는지 체크하기
체크하는건 if문으로 쉽게 설정 할 수가 있다.
defined는 cmd에서 변수 선언에 대해서 알수 있는 커맨드이다.
이를 활용하면
(만약 변수명이 선언 되어 있지 않으면 환경변수에 넣어라)
(만약 변수명이 선언 되어 있다면 해당 환경변수를 지워라)
@echo off if defined 변수명 ( echo Yes ) else ( echo No )를 적용하면 만약 있다면 Yes가 없으면 No가 출력이 될 것이다.
defined는 cmd에서 변수 선언에 대해서 알수 있는 커맨드이다.
이를 활용하면
@echo off if not defined 변수명 ( setx 변수명 값 )으로 사용 가능하고
(만약 변수명이 선언 되어 있지 않으면 환경변수에 넣어라)
@echo off if defined 변수명 ( reg delete HKCU\Environment /F /V 변수명 )으로 삭제도 가능함
(만약 변수명이 선언 되어 있다면 해당 환경변수를 지워라)
if문으로 현재 있는지 파악하기
@echo off reg query HKCU\Environment /v 키값 if not errorlevel 1 ( echo true ) else ( echo false )위에 방법보다 보다 확실한 방법이다. 우선은 reg query 구문으로 해당하는 레지스트리에 키값을 받고 있으면 true값을 출력하게 설정해 놓았다. 만약에 해당 레지스트리에 아무 키값이 없다면 false 가 출력이 된다. 이 원리는 간단하다.
만약 키값이 없다면 error를 뱉는데 이때 error를 뱉지 않는다면 true값을 뱉으면 false로 가면되기 때문이다.
for 문으로 list 받아오기
for /f "tokens=1 delims= " %i in ('reg query hkcu\environment') do (echo %i)
for /f "tokens=1 delims= " %i in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"') do (echo %i)를 사용하면 현재 key 값에 대한 리스트를 받아올수 있다.
위에 있는 문법은 다소 생소 할수가 있다. 이때 cmd prompt에서 for /? 를 치면 자세한 도움말을 볼수가 있다. 위와 같은 형태는 cmd에서 사용되는 형태이다. 이를 분석하면 아래와 같다.
- for
for문 시작 - /f
/f 이후의 옵션을 사용하겠다라는 내용 이때 옵션은 ""에 넣는다.
/f 는 검색한다 라는 옵션이다. - "tokens=1 delims= "
delims로 출력된 부분을 자르고 tokens으로 몇번째 문장을 가져갈지를 정한다.
이때 ""으로 묶어야함 - %i
임시 변수 (만약 batch 파일을 만들려면 %%i로 현재 실행되는 폴더의 경로를 가져야 함) - in
in 함수 - ('reg query hkcu\environment')
리스트, 이때 ''(작은 따옴표) 로 묶어줘야 함 - do
do 함수 (for 에 command를 시키는 구문) - (echo %i)
command 함수
여기에서 (@echo %i>>텍스트파일) 을 하면 텍스트 파일로 기록 할 수 있음
Category:
cmd,
environment variable,
pipeline
2015/08/03
윈도우에서 환경변수 설정하기
windows의 environment variable의 종류
system variable
- windows 가 시작 될때 선언 되는 variable
user variable
- windows 가 시작 되고 user 계정이 시작 될때 선언 되는 variable
따라서 제일 처음 선언되는 변수는 system variable이며 이후에 user variable이 선언이 된다. 프로그래밍에서 치환되는 성격을 가지고 있기 때문에 기존에 있는 변수명이 겹칠 경우 제일 마지막에 선언되는 user 계정에서 선언된 값을 가지고 있게 된다.
system variable 는 윈도우(os)의 값을 가지고 있고 그중 여러 계정을 가지고 있다면 계정 별로 user variable을 가질수 있다.
제일 마지막에 선언되는게 user variable이지만 한 컴퓨터로 여러 계정을 사용할 경우 system variable 에 선언하여서 전역 변수와 같은 형태로 사용 할 수가 있다.
- windows 가 시작 될때 선언 되는 variable
user variable
- windows 가 시작 되고 user 계정이 시작 될때 선언 되는 variable
따라서 제일 처음 선언되는 변수는 system variable이며 이후에 user variable이 선언이 된다. 프로그래밍에서 치환되는 성격을 가지고 있기 때문에 기존에 있는 변수명이 겹칠 경우 제일 마지막에 선언되는 user 계정에서 선언된 값을 가지고 있게 된다.
system variable 는 윈도우(os)의 값을 가지고 있고 그중 여러 계정을 가지고 있다면 계정 별로 user variable을 가질수 있다.
제일 마지막에 선언되는게 user variable이지만 한 컴퓨터로 여러 계정을 사용할 경우 system variable 에 선언하여서 전역 변수와 같은 형태로 사용 할 수가 있다.
cmd (dos) 에서 variable 선언하기
변수 선언
set 변수명=값= 양옆에 공백이 존재 하면 안됨
변수 출력
%변수명%%을 변수명 양옆에 붙임 만약 붙이지 않을 경우 변수명을 문자로 인식함
하지만 echo를 붙이지 않으면 출력이 아닌 실행으로 인식함
echo 명령어 사용 (print와 같음) - 출력용
echo %변수명%
변수 지우기
set 변수명=변수명을 아무것도 없는 null로 치환 하면 변수는 지워짐
참고 : http://mwultong.blogspot.com/2006/08/dos-batch-variable.html
개인 ref : pipeline >> cmd 변수 선언하기.mht
cmd (dos) 에서 environment variable 선언하기
변수 선언
user
setx 변수명 값system
setx 변수명 값 /m변수를 선언할땐 기존에 변수 선언과 동일하지만 =은 사용하지 않는다. 그리고 setx 으로 설정을 해야 한다. 이때 system과 user방식은 선택할 수 있는데 /m 을 붙여주면 된다. 위치는 상관없이 적용된다. (제일 앞에는 해당하지 않음)
변수 출력 (위와 동일)
%변수명%%을 변수명 양옆에 붙임 만약 붙이지 않을 경우 변수명을문자로 인식함
하지만 echo를 붙이지 않으면 출력이 아닌 실행으로 인식함
echo 명령어 사용 (print와 같음) - 출력용
echo %변수명%
변수 지우기
환경변수에서 지우는 일은 cmd 명령으로는 불가능, 그래서 reg로 접근해서 지워야 함
user
user
REG delete HKCU\Environment /F /V 변수명system
REG delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /F /V 변수명으로 지워야 함, 이때 Session Manager에는 white space가 존재해서 경로에 ""으로 묶어줘야 한개의 경로로 인식함
참고 : http://snoopybox.co.kr/1299
참고 : http://stackoverflow.com/questions/13222724/command-line-to-remove-an-environment-variable-from-the-os-level-configuration
개인 ref : pipeline >> 환경 변수 설정하기.mht
개인 ref : pipeline >> 환경 변수 지우기.mht
windows7에서 자주 사용되는 시스템변수
- %allusersprofile%
C:\ProgramData - %appdata%
C:\Users\사용자계정\AppData\Roaming - %homepath%
\Users\사용자계정 - %localappdata%
C:\Users\사용자계정\AppData\Local - %programfiles%
C:\Program Files - %programfiles(x86)%
C:\Program Files (x86) - %systemdrive%
C: (현재 윈도우가 설치되어 있는 드라이브) - %systemroot%
C:\windows - %temp%
C:\Users\사용자계정\AppData\Local\Temp - %userprofile%
C:\Users\사용자계정 - %windir%
C:\windows
출처 : http://snoopybox.co.kr/1299
개인 ref : pipeline >> 환경 변수 설정하기.mht
Category:
cmd,
environment variable,
pipeline
피드 구독하기:
글 (Atom)