日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

python3的样子_python3与python2不一样的地方

發布時間:2025/3/20 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python3的样子_python3与python2不一样的地方 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

進入不同語言版本的Python交互環境

py -2

py -3

pip 命令的執行 :

py -2 -m pip install xxxx

py -3 -m pip install nose

執行python文件

py -2 a.py

py -3 a.py

py2:

print "hello"

py3:

print("hello")

如果不想py -2這樣進入python2,可以

進入到python27的安裝目錄

把python.exe 修改為python2.exe

在環境變量里面加入這個Python27的路徑

python3 a.py

pip3 install

python3:str類型---》相當于py2的unicode類型

str類型encode之后變為了bytes類型---》相當于python2的str類型

print(s.encode("gbk"))

b'\xce\xd2\xc3\xc7'

print(s.encode("gbk").decode("gbk"))

我們

文件操作

在python3中,默認編碼環境為utf8,故不需要像py2那樣在文件頭指定編碼,但是在open()函數多一個encoding參數,在python2是沒有的

with open('d:\\gloryroad\\1.txt','r',encoding='utf8') as fp:

... print(fp.read())

...

abbcddeeegiiiilmnnooooorrrstuvyz

中文

在python3中,write函數里面必須是str類型的

with open('d:\\gloryroad\\1.txt','w',encoding='utf8') as fp:

... fp.write("我們\n你們\n".encode('utf8'))

...

Traceback (most recent call last):

File "", line 2, in

TypeError: write() argument must be str, not bytes

在python3中連接數據庫的包是PyMySQL,python2是MySQLdb,連接方法都一樣。

序列化

python3沒有cpickle,只有pickle

多線程

thread 模塊已被廢棄。用戶可以使用 threading 模塊代替。所以,在 Python3 中不能再使用"thread" 模塊。為了兼容性,Python3 將 thread 重命名為 "_thread"。

隊列

python3的queue模塊是小寫,py2是Queue,因此

import queue

q=queue.Queue(5)

q.put(2)

q.get()

2

q

使用中文格式化時間

from datetime import datetime

nt=datetime.now()

print(nt.strftime('%Y年%m月%d日 %H時%M分%S秒')) --->報錯

法1:

import locale

locale.setlocale(locale.LC_CTYPE, 'chinese')

print(nt.strftime('%Y年%m月%d日'))

2015年08月10日

原理是:“在Windows里,time.strftime使用C運行時的多字節字符串函數strftime,這個函數必須先根據當前locale配置來編碼格式化字符串(使用PyUnicode_EncodeLocale)。”如果不設置好locale的話,根據默認的"C" locale,底層的wcstombs函數會使用latin-1編碼(單字節編碼)來編碼格式化字符串,然后導致題主提供的多字節編碼的字符串在編碼時出錯。

法2:

print(nt.strftime('%Y{y}%m{m}%dozvdkddzhkzd').format(y='年', m='月', d='日'))

原理是:既然直接丟中文字符進去會出錯,那么就繞過這個問題,丟(可能)永遠不會出錯的ascii字符進去充當占位符,格式化完畢后再將占位符換回中文字符。

法3:

print(time.strftime('%Y年%m月%d日'))

2019年05月23日

寫文件時不一樣:

with("filename.txt","w",encoding="utf-8") as fp:

fp.write("我們\n很好\n")

python3和python2的導入有點不一樣,import xxx不適用,后續需要詳讀核心編程的模塊導入

python2的python27/Lib下 的是ConfigParser

python3的python27/Lib下是configparser

所以引入的時候是不同的,需要注意

py2.7.11:

import ConfigParser

py3.7.3:

import configparser

python2.7.11

try:

pass

except Exception, e:

raise e

python3.7.3:

try:

pass

except Exception as e:

raise e

python2.7.11

d={'a':123}

if d.haskey(a):

pass

python3.7.3:

if 'a' in d.keys():

pass

總結

以上是生活随笔為你收集整理的python3的样子_python3与python2不一样的地方的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。