【Python】VMware vSphere是什麼中已經說過需要使用python的背景了(java不會,.Net SDK沒有與時俱進),沒辦法,只有去試試python。不過距離上一次使用python,已經過去了4年了。革命需要,必須快速把python撿起來,看懂項目,並編寫python腳本。我大致總結如下幾個方面,便可完成快速複習。
1.python程序的入口首先python是一門解釋型語言,按順序執行。其次每個模塊都有一個 __name__ 屬性,當其值是 __main__ 時,表明該模塊自身在運行,否則這個模塊就是被引入。
dosomething1()
if(__name__=="__main__"):
print("Main")
else:
print(__name__)
dosomething2()所以上述代碼python test.py執行順序
如果是被引入的,則執行順序
2.python命令行參數python test.py arg1 arg2 arg3pyvmomi-community-samples裡面很多sample都是通過命令行參數來進行調試,然後有命令行解析方法解析命令,所以要運行這些示例,需要傳命令行參數,在Visual Studio Code中,可以去編輯launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: 當前文件",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"args": [
"--server",
"192.168.0.110",
"--username",
"administrator@vsphere.local",
"--password",
"VMware1!"
]
}
]
}
3.python代碼縮進python沒有花括號{},全靠縮進來標識代碼塊,限制變量作用域,還有一點對於從.net過來的我來說很變態的一點,縮進不能空格和tab混用。空格還必須是4的倍數。算了,人家的領域,規規矩矩按照要求來吧。
這裡還是藉助Visual Studio Code幫我們省點事吧。
Preference->Settings
Insert Space:勾選,按Tab,就會插入空格4.python類必需內容:
protected 類型的變量,只有一個下劃線,即保護類型只能允許其本身與子類進行訪問,不能用於 from module import *
重寫很簡單,什麼關鍵字都沒有,只要是繼承了父類,直接可以定義與父類籤名一樣的方法,相對於其他編譯型語言還是省了個關鍵字
#!/usr/bin/python
5.python模塊和包 模塊
# -*- coding: UTF-8 -*-
class Parent: # 定義父類
def myMethod(self):
print '調用父類方法'
class Child(Parent): # 定義子類
def myMethod(self):
print '調用子類方法'就是一個python文件
# 導入整體模塊
import xxx
# 導入模塊中的某部分內容
from xxx imoprt yyy
包模塊是文件,那麼包就是一個文件夾
包是使用「帶點的模塊名稱」來構造Python模塊名稱空間的一種方法。
例如A.B,即指定子模塊B,在A包中。
包的文件夾必需內容:
__init__.py:使Python將包含文件的目錄文件夾視為包__init__.py可以只是一個空文件,但是它也可以執行包的初始化代碼,或者設置__all__變量6.python搜索路徑當導入一個python模塊,Python 解析器對模塊位置的搜索順序是:
如果不在當前目錄,Python 則搜索在環境變量 PYTHONPATH 下的每個目錄。有些開源項目,引入本地包的時候,寫的是全路徑,這個基本都是PYTHONPATH 缺失當前項目,添加即可如果都找不到,Python會查看默認路徑。UNIX下,默認路徑一般為/usr/local/lib/python/。7.python安裝whlwhl其實就是一個壓縮包,把後綴名改為.zip,是可以完美解壓的。一般情況,一個whl文件就是一個python包。安裝方式
#安裝wheel
pip install wheel
#安裝包
pip install xxxx.whl
8.python導出依賴和安裝一般一個python會有很多依賴,我們可以手動導出所有的依賴包:
pip freeze > requestments.txt
安裝:安裝導出的requestments.txt的依賴pip install -r requirements.txt
9.python安裝git遠程包先上命令
pip install --upgrade git+https://gitee.com/RandyField/vsphere-automation-sdk-python.git這個看起來是一個命令,其實內部經歷了兩個步驟
#克隆
git clone https://gitee.com/RandyField/vsphere-automation-sdk-python.git
#安裝依賴
python setup.py install
參考連結https://docs.python.org/3/tutorial/modules.html
https://docs.python.org/3/tutorial/modules.html#packages
https://blog.csdn.net/Iron_Ye/article/details/80044242
https://blog.csdn.net/hhy_csdn/article/details/82263757
https://www.cnblogs.com/kaerxifa/p/11473841.html