雲計算Python自動化:python文件類型講解

2021-01-12 長沙千鋒教育

Python的文件類型主要分為3種:原始碼(source file)、字節碼(byte-code file)、優化的字節碼(optimized file)。這些代碼都可以直接運行,不需要編譯或者連接。這正是Python語言的特性,Python的文件通過python.exe和pythonw.exe解釋運行。python常用的有3種文件類型:

1. 原始碼 py

2. 字節代碼 pyc

3. 優化代碼 pyo

原始碼:

python原始碼的文件以」py"為擴展名,由python程序解釋,不需要編譯

字節代碼:

python源文件經編譯後生成的擴展名為"pyc"的文件,用於隱藏代碼,提高加載速度編譯方法:

生成單個pyc文件:

方法1:代碼方式

#vim compile.py

import py_compile

py_compile.compile("hello.py")

方法2:命令行方式

#python -m py_compile hello.py

-m 相當於腳本中的import

批量生成pyc文件:

一般來說,我們的工程都是在一個目錄下的,一般不會說僅僅編譯一個py文件而已,而是需要把整個文件夾下的py文件都編譯為pyc文件,python又為我們提供了另一個模塊:compileall 。使用方法如下:

方法1:代碼方式

import compileall

compileall.compile_dir(r'/game')

方法2:命令行方式

# python -m compileall /root/src/

優化代碼:

經過優化編譯後的文件,擴展名為「pyo」 pyo是優化編譯後的程序,也可以提高加載速度,針對嵌入式系統,把需要的模塊編譯成pyo文件可減少容量,本質上和pyc沒有區別

優化方法:

#python -O -m py_compile hello.py

注意: 字節代碼和優化代碼不能直接執行,只能用解釋器運行

正確執行方法:

#python hello.pyc

#python hello.pyo

錯誤執行方法:

#./hello.pyc //這樣執行會報錯

外翻:

1. 什麼是pyc文件: pyc是一種二進位文件,是由py文件經過編譯後,生成的文件,是一種byte code,py文件變成pyc文件後,加載的速度有所提高,而且pyc是一種跨平臺的字節碼,是由python的虛擬機來執行的,這個是類似於JAVA或者.NET的虛擬機的概念。pyc的內容,是跟python的版本相關的,不同版本編譯後的pyc文件是不同的,2.5編譯的pyc文件,2.4版本的python是無法執行的。

2. 為什麼需要pyc文件: 這個需求很明顯,因為py文件是可以直接看到源碼的,如果你是開發商業軟體的話,不可能把源碼也洩漏出去吧?所以就需要編譯為pyc後,再發布出去。當然,pyc文件也是可以反編譯的,不同版本編譯後的pyc文件是不同的,根據python源碼中提供的opcode,可以根據pyc文件反編譯出py文件源碼,網上可以找到一個反編譯python2.3版本的pyc文件的工具,不過該工具從python2.4開始就要收費了,如果需要反編譯出新版本的pyc文件的話,就需要自己動手了,不過你可以自己修改python的原始碼中的opcode文件,重新編譯python,從而防止不法分子的破解。

相關焦點

  • 雲計算培訓學院,雲計算Python自動化運維開發實戰
    都忘記是什麼時候知道python的了,我是搞linux運維的,早先只是知道搞運維必須會shell,要做一些運維自動化的工作,比如實現一些定時備份數據啊、批量執行某個操作啊、寫寫監控腳本什麼的。印象最深的是花幾天時間把《python簡明手冊》看完後,感覺python很簡單,特二的認為自己會python了,尷尬的在後面,發現我只是學了點python的基礎,現在看來連皮毛都算不上。都說python簡單,可能是對專業的開發人員來講吧,我作為一個搞運維的對編程真的是不感冒,發現python真的是博大精深,好難,東西好多,學不完,不過還好,我們運維工程師不用搞那麼多。
  • 科悟學院講解Python是什麼以及Python的應用
    舉個例子:如果你定義了一個整型變量a,那麼程序根本不可能將a當作字符串類型處理。強類型定義語言是類型安全的語言。弱類型定義語言:數據類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數據類型的值。通過上面這些介紹,我們可以得出,python是一門動態解釋性的強類型定義語言。
  • 福利:大佬教你如何用 Python 自動化玩轉 Excel
    python有很多支持操作excel的第三方庫,xlwings是其中一個。玩轉自如xlwings開源免費,能夠非常方便的讀寫Excel文件中的數據,並且能夠進行單元格格式的修改xlwings還可以和matplotlib、numpy以及pandas無縫連接,支持讀寫numpy、pandas數據類型
  • Python自動化:pubmed簡介
    >① 代碼講解代碼1: 調用selenium包中的webdriver模塊,相信小夥伴都已經安裝了webdriver軟體在谷歌瀏覽器安裝目錄了吧,這個模塊將會啟用webdriver軟體進而實現谷歌瀏覽器自動化操作;
  • Python|自動化測試與if __name__==「__main__」
    問題描述最近有小夥伴在學習python自動化測試的時候遇到了一個問題,下面我直接奉上代碼。解決方案若要讓此程序執行很簡單只需在最後一行代碼unittest.main()前加一行代碼if__name__==」__main__」:方可執行。
  • Python辦公自動化:使用python來自動生成word文檔
    讓python做辦公自動化,讓你閒下來讓python做自動化,讓你閒下來上節對python的excel Python辦公自動化系列:自動操作Excel自動化做了介紹。這次介紹如何用python對word進行自動生成。
  • Python自動化辦公知識點整理匯總
    知乎上有人提問:用python進行辦公自動化都需要學習什麼知識呢?這可能是很多非IT職場人士面臨的困惑,想把python用到工作中,卻不知如何下手?python在自動化辦公領域越來越受歡迎,批量處理簡直是加班族的福音。
  • 講一講我是如何通過Python實現辦公自動化的
    自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,今天我們主要來講講excel、ppt、word自動化的操作技巧。我們需要學習的主要內容有:python基礎;excel自動化;ppt自動化;word自動化。1、python基礎能做這些的前提是會使用Python,最起碼要熟悉基本語法,可以編寫小腳本。
  • 第三章:Python Selenium 自動化測試之Python基礎
    解決方法為只要在文件開頭加入 coding=utf-8 就行了,注意必須是開頭,在python3中沒有這個問題,python3.x 源碼文件默認使用utf-8編碼,所以可以正常解析中文,無需指定 UTF-8 編碼。
  • 自動化:利用python自動生成qt工程文件,支持任意移動文件
    實現思路使用過QtCreator工具的人,應該都會知道它使用的組建檔文件的後綴名為pro, 所以,本文將介紹如何編寫python文件來添加相關編譯信息到pro文件,而python文件的主要功能則是檢測工程目錄的文件,並將相關文件添加到pro文件中,最後再將python文件的運行命令集成到QtCreator工具。
  • Python之父Guido van Rossum:教你用「膠水語言」實現辦公自動化
    大家好,又到了Python辦公自動化系列。在之前的自動化系列文章中,我們分別講過如何使用Python將Word中表格信息批量提取至Excel,也講過如何將多個Excel表格匯總至Word,今天繼續講解如何將文字從PPT中提取出來並寫入Word,主要將涉及如何使用python-pptx和python-docx交互操作word和ppt文件!
  • Python之list列表數據類型講解
    前言在python中,list列表數據類型其實就是一個容器,可以放置大量元素的集合。同時,list列表也有很多特點和使用場景,本文主要講解list列表的函數方法。概念list列表是一個集合,一個容器,同Java語言中的數組是一樣的,唯一的不同之處在於,Java中的數組類型只能放置同一種數據類型,而Python中的列表可以放置不同的數據類型。python常用方法1、append添加元素append()函數是將要添加的元素追加到列表的末尾。
  • Python之父Guido van Rossum:教你用「膠水語言」實現辦公自動化
    大家好,又到了Python辦公自動化系列。在之前的自動化系列文章中,我們分別講過如何使用Python將Word中表格信息批量提取至Excel,也講過如何將多個Excel表格匯總至Word,今天繼續講解如何將文字從PPT中提取出來並寫入Word,主要將涉及如何使用python-pptx和python-docx交互操作word和ppt文件!
  • Python程序轉為EXE文件正確實現方法講解
    Python程序轉為EXE文件正確實現方法講解 我們今天主要為大家介紹的是在Linux平臺上的Python程序轉為EXE文件的相關操作方法,相信大家可以充分掌握這一方法。
  • Python基礎語法(Python自動化測試入門1)
    最初被設計用於編寫自動化腳本(shell),隨著版本的不斷更新和語言新功能的添加,越多被用於獨立的、大型項目的開發。喜歡編程的小夥伴可以加小編創的Q群867067945大家一起交流學習,進群可以領取免費學習資料哦!從本節開始,我們將正式開始學習 Python 這門高級程式語言。
  • python自動化辦公|批量處理Excel文件的利器
    excel都能做,但是為什麼我們還要學python呢?python的優勢在於批量處理重複性、機械性的事物,試想一下,如果你老闆讓請把100個表格內的標題統一改成另一格式,你會不會發瘋?的功能是最全的,它不僅能讀、寫xls和xlsx兩種格式的excel文件,而且能批量處理多個excel文件。
  • 小白入門篇(一):Python基礎之文件讀取的講解,記得收藏
    今天Python之眼就為大家分享一篇關於Python基礎之文件讀取的講解,我覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨我來看看吧!!of strs(4)從文件中讀取的數據(經過行,再對行切分)都是字符串類型,如果需要轉換為數值,需要強制類型轉換。
  • 用python進行辦公自動化都需要學習什麼知識
    用python進行辦公自動化都需要學習什麼知識呢?  這可能是很多非IT職場人士面臨的困惑,想把python用到工作中,卻不知如何下手?python在自動化辦公領域越來越受歡迎,批量處理簡直是加班族的福音。  自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,這次就來理一理python自動化辦公的那些知識點。
  • Python編程快速上手——讓繁瑣的工作自動化
    Python是一種解釋型,面向對象,動態數據類型的高級程序設計語言,這幾年python極其火爆,應用也非常的廣泛,例如:爬蟲,數據分析,科學計算,人工智慧等python都能勝任,以至於現在很多人都喜歡用python完成自動化辦公,表格處理,數據分析等工作,就是這種萬能屬性,使得python變得越來越廣泛,儼然成為了所有職場人的一個基本功和必備技能~ 好了那麼開始今天到的正題啦~
  • python入門靈魂問題——python學習路線與教程
    一、python入門簡介對於剛接觸python編程或者想學習python自動化的人來說,基本都會有以下python入門靈魂問題--python學習路線,python教程,需要學習哪些內容才能徵服python這條蟒蛇呢?前言:Python分為2.x和3.x之分,2.x目前已經快被淘汰了就不要學了,直接學習3.x,目前最新的版本為3.8。