Python komut dosyası başka bir python komut dosyasına içe aktarıldığında, bir .pyc komut dosyasının oluşturulduğunu biliyorum. Linux bash terminalini kullanarak .pyc dosyası oluşturmanın başka bir yolu var mı?Python komut dosyasından .pyc dosyası nasıl oluşturulur
8
A
cevap
5
py_compile
modülünü kullanabilirsiniz. Komut satırından (-m
seçenek) onu çalıştırın:
, ana() komut satırında adlı tüm dosyaları derlemek için kullanılır.
Örnek:
$ tree
.
└── script.py
0 directories, 1 file
$ python3 -mpy_compile script.py
$ tree
.
├── __pycache__
│ └── script.cpython-34.pyc
└── script.py
1 directory, 2 files
compileall
benzer işlevsellik gibi bir şey yapacağını kullanmak sağlar
$ python3 -m compileall ...
...
derlemeye dosyaları veya kaynak dosyalarını içeren dizinleri vardır
, yinelemeli olarak. Eski module.py yılında if __name__ == '__main__':
blok yürütmek değil, çünkü
$ tree
.
├── module.py
├── __pycache__
│ └── script.cpython-34.pyc
└── script.py
1 directory, 3 files
$ python3 -c 'import module'
$ tree
.
├── module.py
├── __pycache__
│ ├── module.cpython-34.pyc
│ └── script.cpython-34.pyc
└── script.py
1 directory, 4 files
-c 'import module'
-m module
farklıdır:
Başka bir seçenek modülü içe aktarmaktır. Bu aynı dizinde your_script.pyc
dosya oluşturur
python -m compileall <your_script.py>
:
6
aşağıdaki komutu kullanın.
Ayrıca olarak dizin geçirebilirsiniz:
python -m compileall <directory>
Bu dizinde
Diğer bir yol tüm .py dosyaları için dosyaları .pyc yaratacak
import py_compile
py_compile.compile("your_script.py")
gibi başka bir komut dosyası yaratmaktır
Ayrıca, your_script.pyc dosyasını da oluşturur. Dosya adını komut satırı argümanı olarak alabilirsin
$ python -c "import script" yapamaz mı? – Yichun
['python -m compileall'] (https://docs.python.org/2/library/compileall.html) –
Bence pyc yapmak için 'zipfile' kullanmayı denemelisiniz. Bunu yapmak çok kolay. Kodunuzu src olmadan dağıtmak için bunu kullanabilirsiniz. – xiaohen