我知道,當Python腳本在其他python腳本中導入時,將創建一個.pyc腳本。有沒有其他方法可以通過使用linux bash終端創建.pyc文件?如何從Python腳本創建.pyc文件
8
A
回答
5
您可以使用py_compile
模塊。從命令行(-m
選項)運行:
在此模塊中運行的腳本,該的main()用來編譯所有 命名的命令行上的文件。
例子:
$ 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
提供了類似的功能,使用它,你會做這樣的事情
$ python3 -m compileall ...
凡...
是文件編譯或包含在源文件目錄,遞歸遍歷。
另一種選擇是導入模塊:
$ 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
不同,因爲前者不會module.py執行if __name__ == '__main__':
塊。
6
使用以下命令:
python -m compileall <your_script.py>
這將在同一目錄中創建your_script.pyc
文件。
您可以通過目錄也爲:
python -m compileall <directory>
這將在目錄中創建.pyc文件的所有.py文件的文件
另一種方法是創建另一個腳本
import py_compile
py_compile.compile("your_script.py")
它也創建your_script.pyc文件。你可以把文件名作爲命令行參數
相關問題
- 1. 如何從Python 3.6腳本創建exe文件?
- 2. 如何從Python Scrapy腳本中創建一個exe文件?
- 3. 如何從不同版本的python導入* .pyc文件?
- 4. 如何從函數創建一個pyc文件?
- 5. Python:如何從文本文件創建點形狀文件
- 6. 從文本文件創建用戶名創建腳本?
- 7. 將.pyc文件反編譯爲Python 3.2的腳本
- 8. ZipFile模塊創建.pyc文件
- 9. 如何編寫文件創建腳本?
- 10. 從Python文本文件創建xml樹
- 11. 從文本文件創建Python字典
- 12. 嵌入式Python 3在使用importlib時不創建.pyc文件
- 13. 如何用Python 2.7.9腳本創建文件?
- 14. 從文件中創建CSV的腳本
- 15. 從sql腳本創建mdf文件
- 16. 讓Python忽略.pyc文件
- 17. Python不檢測.pyc文件
- 18. 如何在每次重新創建.pyc文件時強制Django?
- 19. 如何從純python創建yaml文件?
- 20. 從python腳本創建沒有.exe的二進制文件
- 21. 從python腳本創建可執行文件
- 22. 從TCL調用python腳本並自動創建一個文件
- 23. python腳本來創建另一個python腳本(或python可執行文件)
- 24. 如何從Python創建PDF文件,包括圖像和文本?
- 25. 如何從python中的用戶輸入創建文本文件?
- 26. 如何從數據文件重新創建文本到Python
- 27. 如何從Python 3.5.2中的文本文件創建平均值?
- 28. 如何從文本文件創建python/numpy數組?
- 29. 如何從python 3.5腳本創建獨立的可執行文件?
- 30. 如何避免.pyc文件?
不能做$ python -c「import script」? – Yichun
['python -m compileall'](https://docs.python.org/2/library/compileall.html) –
我想你應該嘗試使用'zipfile'來製作pyc。 製作它非常容易。 您可以使用它來通過no src部署您的代碼。 – xiaohen