'2019/12/14'에 해당되는 글 2건

  1. 2019.12.14 python 컴파일하기 및 디컴파일?
  2. 2019.12.14 오랫만에 일찍 기...절?

심심해서 잠도 안오겠다 -_-

python 가지고 놀다가 신기한 것 발견(?)

 

1. python2.x와 python3.x의 pyc 경로는 다르다.

2. python2.x와 python3.x의 pyc는 호환되지 않는다.

 

환경은 우분투 18.04 LTS. 설치된 버전정보는 다음과 같고

$ python --version
Python 2.7.15+

$ python3 --version
Python 3.6.9

 

python -m compileall . 과

python3 -m compileall . 의 결과는 아래와 같이

python(2.7.15)는 동일 경로상에 pyc로 생성되는데 반해

python3(3.6.9)는 __pycache__ 디렉토리 아래에 cpython 버전 정보를 기재하면서 pyc로 생성하게 된다.

.:
합계 20
drwxr-xr-x 3 minimonk minimonk 4096 12월 14 23:43 ./
drwxr-xr-x 5 minimonk minimonk 4096 12월 13 21:51 ../
drwxr-xr-x 2 minimonk minimonk 4096 12월 14 23:44 __pycache__/
-rw-r--r-- 1 minimonk minimonk   42 12월 14 23:43 test.py
-rw-r--r-- 1 minimonk minimonk  145 12월 14 23:43 test.pyc

./__pycache__:
합계 12
drwxr-xr-x 2 minimonk minimonk 4096 12월 14 23:44 ./
drwxr-xr-x 3 minimonk minimonk 4096 12월 14 23:43 ../
-rw-r--r-- 1 minimonk minimonk  140 12월 14 23:43 test.cpython-36.pyc

 

그리고 file 정보를 보면 pyc도 2.7대와 3.6대 byte-compiled로 나뉘게 되는데

$ file *
__pycache__: directory
test.py:     ASCII text
test.pyc:    python 2.7 byte-compiled

 

$ file __pycache__/*
__pycache__/test.cpython-36.pyc: python 3.6 byte-compiled

 

python2.7의 pyc를 python2.7과 python3.6으로 실행하면

python3.6 버전으로는 2.7의 pyc를 실행할 수 없다면서 에러를 발생시킨다.

$ python test.pyc
hello world
aa

$ python3 test.pyc
RuntimeError: Bad magic number in .pyc file

 

반대로  python3로 컴파일한 파일은

python2.7에서는 실행이 불가하고, python3.6으로는 실행이 가능하다.

$ python test.cpython-36.pyc 
RuntimeError: Bad magic number in .pyc file

$ python3 test.cpython-36.pyc 
hello world
aa

 

----

python -m compileall .

[링크 : https://sysops.tistory.com/39]

 

$ pip3 install uncompyle6
$ uncompyle6 -o . your_filename.pyc

[링크 : https://askubuntu.com/questions/153823/how-to-run-a-pyc-compiled-python-file]

[링크 : https://g0pher.tistory.com/364]

'Programming > python(파이썬)' 카테고리의 다른 글

python 관련 문서들  (0) 2020.01.09
python exception  (0) 2020.01.02
python 컴파일하기 및 디컴파일?  (0) 2019.12.14
python indent  (0) 2019.12.13
tensorflow, pytorch  (0) 2019.12.10
python pip 특정 버전설치 / 목록에서 설치  (0) 2019.09.09
Posted by 구차니

댓글을 달아 주세요

첫애도 자고 하니 피곤해서 8시쯤 잔거 같은데

회사에서 인터넷 안된다고 항의(!) 전화와서 10시 즈음 깨는 바람에 다시 잠못들고 이러는 중

 

덕분에.. 빡쳐서(!)

컴퓨터 망가진거 CPU 핀 이리저리 고쳐보면서 4GB 밖에 인식 안되던 문제를 8GB 인식하는걸로 일단 마무리 짓고

켜려는데.. fast boot랑 먼가 또 꼬였는지 OS가 안올라온다 -_ㅠ

아몰랑 ㅠㅠ

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

먼가 살게 있어서 문구점을 다녀왔는데..  (6) 2019.12.20
나를 위한 주문 "한 걸음을 내딛을 수 있는 힘"  (0) 2019.12.18
오랫만에 일찍 기...절?  (0) 2019.12.14
이틀만의 퇴근  (2) 2019.12.13
89.5!  (0) 2019.12.12
dead dead line  (0) 2019.12.11
Posted by 구차니

댓글을 달아 주세요