Ⅰ python 關於try
不會,她會運行finally裡面的內容。
這個try和finally就是對錯誤的處理,如果try中運行出錯,則跳出運行finally中的內容
Ⅱ python如何獲取串口前面的名稱
樓上的方法太復雜,用serial庫就可以,親測可用:
importserial.tools.list_ports
port_list=list(serial.tools.list_ports.comports())
iflen(port_list)==0:
print('找不到串口')
else:
foriinrange(0,len(port_list)):
print(port_list[i])
參考:網頁鏈接
Ⅲ 如何使用python設計語言serial模塊調用方法
一、概述
pyserial模塊封裝了對串口的訪問。
二、特性
在支持的平台上有統一的介面。
通過python屬性訪問串口設置。
支持不同的位元組大小、停止位、校驗位和流控設置。
可以有或者沒有接收超時。
類似文件的API,例如read和write,也支持readline等。
支持二進制傳輸,沒有null消除,沒有cr-lf轉換。
三、系統要求
python 2.3及以上版本,包括py3k。
Ⅳ python3 中的try... except Exception,e: ...怎麼不能用了變成什麼了呢
語法錯誤,應該改成下列語法:
python3 中捕捉異常需要使用try/except語句,具體格式如下:
try:
<語句> #運行別的代碼
except <名字>:
<語句> #如果在try部份引發了'name'異常
except <名字>,<數據>:
<語句> #如果引發了'name'異常,獲得附加的數據
else:<語句> #如果沒有異常發生
編輯如下:
「拓展資料「:
try的工作原理是,當開始一個try語句後,python就在當前程序的上下文中作標記,這樣當異常出現時就可以回到這里,try子句先執行,接下來會發生什麼依賴於執行時是否出現異常。
如果當try後的語句執行時發生異常,python就跳回到try並執行第一個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。
如果在try後的語句里發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結束程序,並列印預設的出錯信息)。
如果在try子句執行時沒有發生異常,python將執行else語句後的語句(如果有else的話),然後控制流通過整個try語句。
Ⅳ Python serial
>>> import serial
>>> ser = serial.Serial(0) #開啟串口0
>>> ser.write("\xAA") #寫十六進制AA
>>> ser.close() #關閉串口
Ⅵ 如何用python寫個串口通信的程序
使用 pyserial 就可以處理串口通信,這個包是跨平台的。
http://pyserial.sourceforge.net/
示常式序在這里:
https://pyserial.readthedocs.io/en/latest/examples.html#wxpython-examples
importserial
#創建serial實例
serialport=serial.Serial()
serialport.port='COM1'
serialport.baudrate=9600
serialport.parity='N'
serialport.bytesize=8
serialport.stopbits=1
serialport.timeout=0.6
try:
serialport.open()
serialport.setDTR(True)
serialport.setRTS(True)
exceptException,ex:
printex
#發送數據
serialport.write(raw_data)
#根據項目要求,可以開一個線程掃描接收數據
Ⅶ python3 使用try處理異常
try_num=0
html=None
whileTrue:
try:
html=urlopen(...)
except:
pass
try_num+=1
iftry_num>20orhtml!=None:
break
time.sleep(10)
Ⅷ python中的try的用法
try語句是python裡面的控制語句,與except,finally配合使用處理在程序運行中出現的異常情況。
try的工作原理是:當開始一個try語句後,python就在當前程序的上下文中作標記,這樣當異常出現時就可以回到這里,try子句先執行,接下來會發生什麼依賴於執行時是否出現異常。
假如在讀一個文件的時候,希望在無論異常發生與否的情況下都關閉文件,該怎麼做呢?這可以使用finally塊來完成。注意,在一個try塊下,可以同時使用except從句和finally塊。如果要同時使用它們的話,需要把一個嵌入另外一個。
(8)pythonserialtry擴展閱讀:
python的基礎語法
Python的設計目標之一是讓代碼具備高度的可閱讀性。它設計時盡量使用其它語言經常使用的標點符號和英文單字,讓代碼看起來整潔美觀。
python的用法
Python可以以交互模式運行,比如主流操作系統Unix/Linux、Mac、Windows都可以直接在命令模式下直接運行Python交互環境。直接下達操作指令即可實現交互操作。
一個和其他大多數語言(如C)的區別就是,一個模塊的界限,完全是由每行的首字元在這一行的位置來決定的(而C語言是用一對花括弧{}來明確的定出模塊的邊界的,與字元的位置毫無關系)。
Ⅸ python 如何防止串口通信失敗
Python中串口出現異常通常有:1.打開串口時,串口不存在,2.寫串口時,3.讀串口時。這幾個異常是經常會碰到的(有經驗的人就深有體會),一旦異常出現了,整個程序很可能會因此就運行不下去了。避免因為這些異常的出現而導致程序死機的方法是對這些可能存在的異常進行捕捉。舉一個例子:
try:
ComDev.read(1)
print "read Com ok!"
except:
print "read Com error!"
上面的代碼意思是:對ComDev這個串口對象讀取一個位元組,如果讀成功,就接著執行print "read Com ok!"而不執行except以下的語句,如果讀出現異常,就執行print "read Com error"而不執行
print "read Com ok!"
當然系統還會拋出異常信息,只是我這里沒有進行接收,個人覺得很多異常不必接收其信息。
Ⅹ Python如何進行多串口通信一個串口控制電機 一個串口採集數據
下載 pyserial包
def OpenCom(self,*args): #設置埠和波特率 selComPort =『com2』 #波特率 selBaudRate =9600 #奇偶校驗 selParity = 'N' try: if(not self.mySerial): self.mySerial = serial.Serial(port=selComPort, baudrate=selBaudRate,bytesize=8,parity=selParity,stopbits=1,timeout=5) else: if(self.mySerial.isOpen()): self.mySerial.close() self.mySerial = serial.Serial(port=selComPort, baudrate=selBaudRate, bytesize=8, parity=selParity, stopbits=1, timeout=5) self.lblInfo['text'] = '打開成功!' except Exception as ex: self.lblInfo['text'] = '打開失敗!'
#使用com口發送modbus協議給終端設備。
def btnEmId_Click(self):
barray = bytearray([0x05, 0x03, 0xA#, 0x54, 0x00, 0x08])
vOldEmId = self.txbOldEmId.get()
vNewEmId = self.txbNewEmId.get()
barray[0] = int(vOldEmId)
barray[5] = int(vNewEmId)
#crc校驗
strInput = utils.crc16_append(barray)
print(barray)
n = self.mySerial.write(barray)
if(n > 0):
str = self.mySerial.readall()
self.lblInfo['text'] = 'success!'
# for s in str:
# print (hex(s))
else:
self.lblInfo['text'] = 'error!'