導航:首頁 > 程序命令 > pythonat命令庫

pythonat命令庫

發布時間:2023-01-23 15:26:56

python開發命令行腳本

工作中會經常需要寫一些命令行腳本,如果還是用if,else判斷用戶輸入實在是太醜陋了。這里介紹幾個python里的命令行腳本庫,可以幫助我們快速開發好用的命令行腳本。

https://docs.python.org/3/library/cmd.html

使用方式是繼承Cmd,實現自己的子類。

參數comletekey是自動補全操作,默認值是Tab, 如果不為None 且readline可用的話,命令會自動完成。
這里的readline指的是python實現的 GNU readline 介面(標准python庫里沒有,Windows系統不支持)。

參數stdin,stdout是輸入輸出流,默認是sys.stdin,sys.stout。

cmd提供了一個簡單的框架,但是功能比較簡單,python還有其他的很多第三方庫可以用來寫命令行程序。

https://www.cnblogs.com/xueweihan/p/12293402.html 這篇文章對比了各個庫的功能,貼在這里:

看起來fire是最簡單的,來試一下。

fire 則是用一種面向廣義對象的方式來玩轉命令行,這種對象可以是類、函數、字典、列表等,它更加靈活,也更加簡單。你都不需要定義參數類型,fire 會根據輸入和參數默認值來自動判斷,這無疑進一步簡化了實現過程。

以下示例為 fire 實現的 計算器程序:

從上述示例可以看出,fire 提供的方式無疑是最簡單、並且最 Pythonic 的了。我們只需關注業務邏輯,而命令行參數的定義則和函數參數的定義融為了一體。

不過,有利自然也有弊,比如 nums 並沒有說是什麼類型,也就意味著輸入字元串'abc'也是合法的,這就意味著一個嚴格的命令行程序必須在自己的業務邏輯中來對期望的類型進行約束。

㈡ LiteOS通信模組教程03-AT指令玩轉NB-IoT通信

BC35-G 是一款高性能、低功耗的多頻段 NB-IoT 無線通信模塊,支持 B1/B3/B8/B5/B20/B28 頻段,在設計和AT指令上與BC95兼容。

小熊派開發板右上角的開關撥到AT-PC一端,則模組直接與PC相連,方便調試。

指令:AT

功能:測試AT指令功能是否正常

示例:

指令:AT+CSQ

功能:返回從 UE 接收到的信號強度指示 <rssi> 和信道誤碼率 <ber> ,其中第一個值rssi應當在0-31之間,如果為99則表示信號無法檢測,第二個參數ber因為模組當前不支持,所以始終為99。

示例:

指令:AT+CEREG?

功能:查詢當前 EPS 網路注冊狀態,該指令返回的第一個參數為0則表示禁止網路注冊URC,第二個參數表示網路注冊狀態,1表示已注冊本地網,5表示已注冊漫遊網路,其餘值則表示注冊失敗。

示例:

指令:AT+CGATT?

功能:該命令用於查詢當前是否將 UE 附著於 PS 域,返回值為1則表示已附著,即網路激活成功。

示例:

指令:AT+CGPADDR

功能:該命令用於查詢模組當前的ip地址。

示例:

由於NB-IoT模組可以直接對接IoT平台,所以在單獨測試使用UDP連接時,需要 在激活網路成功之後,在獲取ip地址之前,關閉IoT平台注冊功能

使用如下命令禁止該功能:

首先我們需要搭建一個UDP伺服器,有兩種方式:

因為 NB-IoT 模組直接注冊的是公網ip地址,所以這里我們使用第一種方式,在linux伺服器上運行一個Python編寫的UDP測試伺服器:

這里的Python程序如下:

運行:

效果如下:

使用AT命令連接UDP伺服器,首先需要創建一個 UDP 類型的 Socket,創建socket的指令如下:

其中第一個參數是socket類型,DGRAM表示UDP,STREAM表示UDP;第二個參數表示協議類型,UDP 為 17, UDP 為 6,最後一個參數指定socket使用的本地埠,如果為0則表示隨機分配。

所以創建UDP socket的示例如下:

指令:

其中第一個參數是由 AT+NSOCR 返回的 Socket 編號,第二個參數是UDP伺服器ip地址,也可以使用域名,第三個參數是UDP伺服器開啟監聽的埠,第四個是發送數據的長度,最後一個是要發送的十六進制數據。

示例:

發送之後,在伺服器端也可以看到:

模組發送數據到伺服器後,伺服器會自動發送消息,模組會列印出收到信息的提示:

該信息表示編號為1的socket收到了18位元組的數據。

可以使用如下命令查看收到的數據,第一個參數是socket編號,第二個參數是查詢的數據長度:

查看剛剛收到的數據:

其中收到的數據為倒數第二個參數,是十六進制格式:

使用 在線工具 將數據轉化為字元串即可:

通信完畢之後,可以使用下面的命令關閉最開始創建的socket:

示例:

㈢ python AT命令求助

我只在Windows下用過pyserial,和你用的模塊略微有差別。
從code看,你用write方法發送字元以後,沒有回車(發送 \n 到串口),或許是因為這個,「AT+CGMI」其實沒有執行,所以也讀不出結果。

㈣ LiteOS通信模組教程02-AT指令玩轉2G通信

小熊派開發板右上角的開關撥到AT-PC一端,則模組直接與PC相連,方便調試。

指令:AT

功能:測試AT指令功能是否正常

示例:

指令:AT+CPIN?

功能:查詢SIM卡是否正常,返回ready則表示SIM卡正常

示例:

指令:AT+CSQ

功能:查詢模組的信號強度,第一個值為0-31則正常,99為不正常

示例:

指令:AT+CREG?

功能:查詢模組是否注冊上GSM網路,+CREG:0,1 表示已注冊上本地網,+CREG:0,5表示注冊上漫遊網。

示例:

指令:AT+CERGE?

功能:查詢模組是否注冊上GPRS網路,+CGREG:0,1 表示已注冊上本地網,+CGREG:0,5表示注冊上漫遊網。

示例:

指令:AT+QIFGTCNT=0

功能:配置當前場景

示例:

指令:AT+QICSGP=1, "CMNET"

功能:設置GPRS的APN,移動CMNET,聯通UNINET

示例:

指令:AT+QIMODE=0

功能:設置數據傳輸模式,0表示非透傳模式,1表示透傳模式

示例:

指令:AT+QIDEACT

功能:在激活GPRS場景之前先關閉GPRS場景,確保連接正確

示例:

指令:AT+QIREGAPP

功能:啟動任務並設置接入點APN、用戶名和密碼

示例:

指令:AT+QIACT

功能:激活移動場景

示例:

指令:AT+QILOCIP

功能:查看模組獲取的IP地址

示例:

首先我們需要搭建一個TCP伺服器,有兩種方式:

因為M26模組直接注冊的是公網ip地址,所以這里我們使用第一種方式,在Linux伺服器上運行一個Python編寫的tcp測試伺服器:

這里的Python程序如下:

運行:

效果如下:

查詢ip地址:

使用AT命令連接TCP伺服器,其中第一個參數是協議類型,「TCP」則表示使用TCP協議,第二個參數是TCP伺服器ip地址,也可以使用域名,最一個參數是TCP伺服器開啟監聽的埠:

示例:

連接之後,在伺服器端也可以看到:

模組連接到伺服器後,伺服器會自動發送消息,模組會列印出收到的信息:

使用如下的命令即可向TCP伺服器發送消息,首先設置要發送數據的位元組數,等待模組返回 > 後,輸入要發送的數據即可,如果發送的數據超過了設置的n個位元組,則只發送前n個位元組,後面的數據被認為是無效數據,不會發送:

示例:

發送成功看伺服器上運行的TCP伺服器是否收到:

通信完畢之後,可以使用下面的命令關閉TCP連接:

示例:

㈤ Python 最重要的庫都有哪些

第一、NumPy

NumPy是Numerical
Python的簡寫,是Python數值計算的基石。它提供多種數據結構、演算法以及大部分涉及Python數值計算所需的介面。NumPy還包括其他內容:

①快速、高效的多維數組對象ndarray

②基於元素的數組計算或數組間數學操作函數

③用於讀寫硬碟中基於數組的數據集的工具

④線性代數操作、傅里葉變換以及隨機數生成

除了NumPy賦予Python的快速數組處理能力之外,NumPy的另一個主要用途是在演算法和庫之間作為數據傳遞的數據容器。對於數值數據,NumPy數組能夠比Python內建數據結構更為高效地存儲和操作數據。

第二、pandas

pandas提供了高級數據結構和函數,這些數據結構和函數的設計使得利用結構化、表格化數據的工作快速、簡單、有表現力。它出現於2010年,幫助Python成為強大、高效的數據分析環境。常用的pandas對象是DataFrame,它是用於實現表格化、面向列、使用行列標簽的數據結構;以及Series,一種一維標簽數組對象。

pandas將表格和關系型資料庫的靈活數據操作能力與Numpy的高性能數組計算的理念相結合。它提供復雜的索引函數,使得數據的重組、切塊、切片、聚合、子集選擇更為簡單。由於數據操作、預處理、清洗在數據分析中是重要的技能,pandas將是重要主題。

第三、matplotlib

matplotlib是最流行的用於制圖及其他二維數據可視化的Python庫,它由John D.
Hunter創建,目前由一個大型開發者團隊維護。matplotlib被設計為適合出版的制圖工具。

對於Python編程者來說也有其他可視化庫,但matplotlib依然使用最為廣泛,並且與生態系統的其他庫良好整合。

第四、IPython

IPython項目開始於2001年,由Fernando
Pérez發起,旨在開發一個更具交互性的Python解釋器。在過去的16年中,它成為Python數據技術棧中最重要的工具之一。

盡管它本身並不提供任何計算或數據分析工具,它的設計側重於在交互計算和軟體開發兩方面將生產力最大化。它使用了一種執行-探索工作流來替代其他語言中典型的編輯-編譯-運行工作流。它還提供了針對操作系統命令行和文件系統的易用介面。由於數據分析編碼工作包含大量的探索、試驗、試錯和遍歷,IPython可以使你更快速地完成工作。

第五、SciPy

SciPy是科學計算領域針對不同標准問題域的包集合。以下是SciPy中包含的一些包:

①scipy.integrate數值積分常式和微分方程求解器

②scipy.linalg線性代數常式和基於numpy.linalg的矩陣分解

③scipy.optimize函數優化器和求根演算法

④scipy.signal信號處理工具

⑤scipy.sparse稀疏矩陣與稀疏線性系統求解器

SciPy與Numpy一起為很多傳統科學計算應用提供了一個合理、完整、成熟的計算基礎。

第六、scikit-learn

scikit-learn項目誕生於2010年,目前已成為Python編程者首選的機器學習工具包。僅僅七年,scikit-learn就擁有了全世界1500位代碼貢獻者。其中包含以下子模塊:

①分類:SVM、最近鄰、隨機森林、邏輯回歸等

②回歸:Lasso、嶺回歸等

③聚類:K-means、譜聚類等

④降維:PCA、特徵選擇、矩陣分解等

⑤模型選擇:網格搜索、交叉驗證、指標矩陣

⑥預處理:特徵提取、正態化

scikit-learn與pandas、statsmodels、IPython一起使Python成為高效的數據科學編程語言。

㈥ python獲取給手機發送AT命令如何獲取返回值

安裝一個pyseries包。 然後找一個AT標準的命令集。似乎有人封裝好了。我以前見過。

然後剩下的事情就超 簡單了。 測試通過就可以用。

好象以前是用這個做運維時,給運維人員發簡訊用的。這個功能十幾年前就成熟了。現在都應該 有現成的python模塊。

㈦ 如何使用Python讓某段程序固定在每天早上八點鍾開始運行

你在windows下根本不用這么麻煩:

首先,比如你的程序名字是 test.py
如果你想調用某個具體函數,就自己寫一個的文件,比如
import spider
spider.go()

然後,用系統at命令指定幾點幾分或者每個星期幾或者每個月的第幾個星期幾等執行某個程序。在執行程序的地方寫到:
c:\python25\python.exe myfile.py
這樣就可以了。

===================================

如果你覺得簡單的方法不好或者你要在其它系統下也可以用,那就這樣:

首先,寫一串代碼:大致意思如下,把_換成空格
import os,time,spider
while True:
__time.sleep(1)
__if time.ctime()[12:19]=="8:00:00" or time.ctime()[12:19]=="20:00:00" :
____spider.go() #舉個例子

然後,開機就執行這個文件。windows下可以把文件存為pyw然後開機啟動這樣沒有黑框。其它系統你愛怎麼樣都可以了(mac沒用過不知道)

㈧ linux at 如何定時執行python腳本

先寫一個shell腳本,假設為 /root/index.sh > 'python XXX.py'
再使用命令 at <?> -f /root/index.sh
<?>部分查看 at 指令用法補充,可參考http://www.cnblogs.com/peida/archive/2013/01/05/2846152.html
完成

㈨ 在cmd裡面打什麼命令查看python自帶庫謝謝。

用命令查看python的庫的方法:可以在命令行下運行【$pydoc moles】命令查看。還可以在互動式解釋器中運行【help("moles")】命令查看。


一、命令行下使用pydoc命令

(推薦教程:Python入門教程)

在命令行下運行$ pydoc moles即可查看。

二、在python交互解釋器中使用help()查看

在互動式解釋器中輸入>>> help("moles")即可,效果跟在命令行下輸入$ pydoc moles是一樣的。

三、在python交互是解釋器下導入sys模塊查看

python的sys模塊也是可以用來查看模塊信息的。

1

2

import sys

sys.moles.keys()

四、命令行下使用pip查看

如果你使用的是pip來作為你的python包管理器的話,可以在命令行下直接運行pipfreeze或者pipfreeze或者 pip list來查看安裝包的信息,當然其它的包管理器也有類似的功能,同時,你也可以在python互動式解釋器中導入pip模塊來查看包信息。

用命令查看python的庫的方法:可以在命令行下運行【$pydoc moles】命令查看。還可以在互動式解釋器中運行【help("moles")】命令查看。

閱讀全文

與pythonat命令庫相關的資料

熱點內容
投訴聯通用什麼app 瀏覽:150
web伺服器變更ip地址 瀏覽:954
java正則表達式驗證郵箱 瀏覽:360
成熟商務男裝下載什麼軟體app 瀏覽:609
加密2h代表長度是多少厘米 瀏覽:23
拍賣程序員 瀏覽:101
電腦的圖片放在哪個文件夾 瀏覽:274
unsignedintjava 瀏覽:216
編譯器下載地址 瀏覽:42
什麼是面對對象編程 瀏覽:708
b站伺服器什麼時候恢復 瀏覽:721
6p相當於安卓機什麼水準 瀏覽:498
能否給隱藏相冊加密 瀏覽:596
糖心app改什麼名 瀏覽:823
戰地1控伺服器如何部署 瀏覽:395
xp還原系統輸入命令 瀏覽:324
mysql命令行版本 瀏覽:305
如何進入itunes找文件夾 瀏覽:834
CAD中重復命令使用 瀏覽:479
心智pdf 瀏覽:477