python3學習問題彙總

2022-03-19 15:59:36 字數 2417 閱讀 9522

1、python2指令碼轉python3報型別錯誤

原因:python3x的string型別與python2x的型別不相同,在python3x中需要將str編碼,如:

套接字的成員函式send

socket.send(bytes[, flags]) 形參為位元組型別

socket.recv(bufsize[, flags]) receive datafrom the socket.the return value is abytesobject representing the data received.

1

defdeal(sock, user):

2while

true:

3 data = sock.recv(bufsiz).decode() #

接收使用者的資料45

#print(data)

6print(re.match('

[to:.+]

', data))

7if data == '

quit

': #

使用者退出

8del

clients[user]

9sock.send(data).encode().decode()

10sock.close()

11print('

%s logout

' %user)

12break

13elif re.match('

to:.+

', data) is

not none: #

選擇通訊物件

14 data = data[3:]

15print

(data)

16if data in

clients:

17 chatwith[sock] =clients[data]

18 chatwith[clients[data]] =sock

19else

:20 sock.send('

the user %s is not exist

' %data.encode())

21else:22

if sock in chatwith: #

進行通訊

23 chatwith[sock].send(("

[%s] %s: %s

" %(ctime(), user, data)).encode())

24else

:25 sock.send('

please input the user who you want to chat with

'.encode())

2、python3中使用has_key報錯

原因:python3中已經包含此 項

解決方法:

k in dict的方式代替

1

while

true:

2print('

waiting for connection...')

3 tcpclisock, addr =tcpsersock.accept()

4print

(tcpclisock,addr)

5print('

...connected from:

',addr)

6 username = tcpclisock.recv(bufsiz).decode() #

接收使用者名稱

7print('

the username is:

',username)

8if username in clients: #

查詢使用者名稱

9 tcpclisock.send("

reuse

").encode() #

使用者名稱已存在

10tcpclisock.close()

11else

:12 tcpclisock.send("

welcome!

".encode()) #

登入成功

13 clients[username] =tcpclisock

14 chat = threading.thread(target = deal, args = (tcpclisock,username)) #

建立新執行緒進行處理

15 chat.start() #

啟動執行緒

python3編碼問題彙總

這兩天寫了個監測網頁的爬蟲,作用是跟蹤乙個網頁的變化,但執行了一晚出現了乙個問題。希望大家不吝賜教!我用的是python3,錯誤在對html response的decode時丟擲,原樣為 response urllib.urlopen dsturl content response.read dec...

Python3 學習中的問題

1.表示式運算子優先順序,如果所有的操作符優先順序相同該怎麼計算優先順序?如果表示式的操作符有相同的優先順序,則運算規則是從左到右計算。比如 1 2 55 88 注意 有乙個特殊的例子,如下這個是從右到左結合計算 python 3.7.4 tags v3.7.4 e09359112e,jul 8 2...

python3語言 Python3學習之語言基礎3

三 判斷 迴圈語句,函式,命名空間,作用域 1 python3 條件控制 python中if語句的一般形式如下所示 python 中用 elif 代替了 else if,所以if語句的關鍵字為 if elif else。注意 1 每個條件後面要使用冒號 表示接下來是滿足條件後要執行的語句塊。2 使用...