[python] 팁, 메모
설정값 (config file. properties, json, yml) 관리하기
https://mingrammer.com/ways-to-manage-the-configuration-in-python/
editable로 설치
```python
pip install --editable .
-e, --editable <path/url>
Install a project in editable mode (i.e. setuptools “develop mode”) from a local project path or a VCS url.
```
패키지 수동 설치
패키지 압축을 해제하고 `` dist``(distribution) 폴더로 이동해서 다시 tar 압축 해제
반드시 해당 폴더에서 진행할 것.
```bash
python setup install
```
CLI에서 쓸만한 라이브러리
- [python] argparse, python-fire
- https://opensource.com/article/17/5/4-practical-python-libraries
- https://codeburst.io/building-beautiful-command-line-interfaces-with-python-26c7e1bb54df
- print 시 색상 입히기 - https://pypi.org/project/clint/
- tqdm 진행바. 많이 쓴다.
paramiko (docs)
python으로 SSH를 사용할 수 있는 모듈. server, client 모두 지원한다.
아나콘다에 기본적으로 포함되어 있는 pexpect 라는 모듈도 있다.
둘 중 어느게 더 좋은지는 모르겠음. pexpect의 경우 프롬프트를 자동으로 인식하는 등 약간 휴리스틱이 들어가 있는 듯?
2to3 -w aaa.py
```bash
λ 2to3 -w UCT.py
λ ls
UCT.py UCT.py.bak
```
python2로 작성된 파일을 3으로 수정하려면 2to3 모듈을 사용한다. -w옵션을 주면 자동으로 백업파일 생성하면서 3로 변경해준다.
변경 이후 발생하는 에러는 대부분 문자열, 바이트 인코딩 관련 오류이므로, ``python b' '`` 또는 .``python encode()`` 메소드 등으로 적절히 해결한다.
Evaluation strategy
파이썬은 call by object reference다.
immutable object를 넘길 경우 ( 정수나, 정수를 참조하는 변수 ) call by value처럼 동작한다.
mutable object를 넘길 경우 (리스트 등) call by reference처럼 동작한다.
'Languages & Frameworks > Python' 카테고리의 다른 글
[Regex] Python (0) | 2017.02.23 |
---|---|
[python] import 관련 : 모듈, 패키지, __init__.py, __all__ (0) | 2017.02.23 |
[python] 함수, 클래스, 객체, *args, **kwargs (0) | 2017.02.23 |
[python] List, Tuple, Dictionary, Set, Enumerate, sort 정렬 (0) | 2017.02.23 |
[python] 정수 실수 자료형 (0) | 2017.02.15 |