日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python3入门(十一)——IO编程

發布時間:2025/4/14 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3入门(十一)——IO编程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、文件讀寫

  python的文件操作和C是兼容的

 1.讀文本文件

 讀文件操作如下:

f = open("F:/1.txt", "r") data = f.read() print(data)

  其中"r"表示read,讀文件,再使用read()方法就把文件內容讀取出來了

  和Java一樣,操作文件需要close掉,并且強烈建議在finally中close,代碼如下:

try:f = open("F:/1.txt", "r")data = f.read()print(data) finally:if f:f.close()

  但是!Python這里又支持了with操作,這比Java必須要寫上面類似的代碼確實要簡潔不少:

with open("F:/1.txt", "r") as f:print(f.read())

  這樣,try finally以及close等全部可以省略了!

  這里read()也可以加參數size來限制讀取的字節數,防止一次性讀取太多而爆掉:

print(f.read(4))

  或者按行讀取也是闊以的:

readline() # 讀取一行 readlines() # 讀取所有行,返回list
for line in f.readlines():print(line.strip()) # 把末尾的'\n'刪掉

  這種帶有read()方法的對象稱為 file-like Object,常見的有StringIO

  2.讀二進制文件

    使用rb模式打開即可:

f = open("F:/1.jgp", "rb") f.read()

  3.字符編碼

    默認是UTF-8,指定編碼可以添加encoding參數

f = open("F:/1.txt", "r", encoding="GBK") f.read()

   ??忽略一些亂七八糟的錯誤,可以使用errors

f = open('/Users/michael/gbk.txt', 'r', encoding='gbk', errors='ignore')

  4.寫文件

    和讀類似,w、wb進行文本文件、二進制文件的寫,文件編碼同讀文件的操作

with open("F:/1_new.txt", "w") as f:f.write("Hello Python3!")

    w是覆蓋寫的形式,追加使用a參數,完整參照文檔

二、StringIO與BytesIO

  1.StringIO

    在內存中讀寫string,稱之為StringIO。它可以在內存中進行讀寫:

from io import StringIOf = StringIO() f.write("Hello ") f.write("Python3!") print(f.getvalue())

    可以像文件一樣進行操作:

from io import StringIOf = StringIO("Hello\nPython3!") while True:line = f.readline()if line == "":breakprint(line.strip())

?  2.bytesIO

f2 = BytesIO() f2.write("我愛中國".encode("UTF-8"))

  注意這里寫入的不是字符串string,而是經過編碼后的bytes

三、操作文件和目錄

  使用例如dir cp等操作文件的命令,可以通過Python的os模塊來實現,底層是通過調用系統的接口進行具體實現的:

>>> import os >>> os.name # 操作系統類型 'posix'——代表linux,nt代表windows,linux中還可以通過os.uname()來獲取更加詳細的信息

  1.獲取環境變量:

>>> os.environ #查看所有環境變量 >>> os.environ.get('PATH') #獲取特定變量

  2.操作文件和目錄

    os.path中的部分操作:

# 查看當前目錄的絕對路徑: >>> os.path.abspath('.') '/Users/michael' # 在某個目錄下創建一個新目錄,首先把新目錄的完整路徑表示出來: >>> os.path.join('/Users/michael', 'testdir') '/Users/michael/testdir' # 然后創建一個目錄: >>> os.mkdir('/Users/michael/testdir') # 刪掉一個目錄: >>> os.rmdir('/Users/michael/testdir')

  請注意路徑的操作不要直接強行通過字符串拆分合并進行,而是使用os模塊的方法!

  更多操作,參見相關文檔

四、序列化

  python通過?pickle?模塊進行序列化操作!

  pickle.dumps()方法把任意對象序列化成一個bytes,然后,就可以把這個bytes寫入文件。或者用另一個方法pickle.dump()直接把對象序列化后寫入一個file-like Object

>>> import pickle >>> d = dict(name='Bob', age=20, score=88) >>> pickle.dumps(d)>>> f = open('dump.txt', 'wb') >>> pickle.dump(d, f) >>> f.close()

  反序列化方法通過load方法實現:

>>> f = open('dump.txt', 'rb') >>> d = pickle.load(f) >>> f.close()

  與JSON轉換:

    類似Java的fastjson等對象與json的轉換,python提供了json模塊用來提供json字符串與dict的轉換。好處與便利性不再贅述:

>>> import json >>> d = dict(name='Bob', age=20, score=88) >>> json.dumps(d) #返回一個json的str字符串 '{"age": 20, "score": 88, "name": "Bob"}'

  類似的,也提供了鏡像方法loads,返回與JSON對應的dict

>>> json.loads(json_str)

  JSON與對象的轉換:

    上面介紹了默認的JSON字符串與dict的轉換,當然肯定要有class對象與JSON的轉換了:

    主要通過dumps()參數列表,實現一個class到dict的轉換函數即可:

def student2dict(std):return {'name': std.name,'age': std.age,'score': std.score}>>> print(json.dumps(s, default=student2dict)) {"age": 20, "name": "Bob", "score": 88}

?

轉載于:https://www.cnblogs.com/jiangbei/p/8946343.html

總結

以上是生活随笔為你收集整理的Python3入门(十一)——IO编程的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 一级黄色影院 | 色一情一乱一伦一区二区三区 | 美女扒开尿口让男人桶 | 午夜国产精品视频 | 强行糟蹋人妻hd中文字幕 | 热re99久久精品国产99热 | 一级欧美一级日韩片 | 尤物自拍 | 伦理片中文字幕 | 一本之道久久 | 欧美特级a | 欧美性猛交ⅹxx乱大交 | 性一交一乱一区二区洋洋av | 久久av高潮av无码av喷吹 | 精品一区二区精品 | 91视频精选| 黄色大片视频网站 | 9999国产精品 | 强开乳罩摸双乳吃奶羞羞www | 姑娘第5集高清在线观看 | 黄色在线观看免费视频 | 久久久久久av无码免费网站下载 | 国产91精品欧美 | 国产精品久久久久久久裸模 | 成人片在线播放 | 久久综合狠狠综合久久综合88 | 99久久黄色 | 久久久88| 美女被啪啪 | 人人澡超碰碰97碰碰碰 | 人妻少妇精品无码专区久久 | 91老司机在线 | 亚洲色图导航 | 真人抽搐一进一出视频 | 成年人免费在线观看 | 国产欧美一区在线观看 | 成人黄色av| 黄频在线看 | 午夜在线精品 | 欧美日本| 日韩毛片一级 | 亚洲综合视频一区 | 白白色在线播放 | 韩国主播青草200vip视频 | 亚洲综合网址 | 久久精品国产亚洲AV成人雅虎 | 欧美激情一区二区三区免费观看 | 91资源在线播放 | 成人影片在线 | 精品国产视频一区二区 | 国产农村妇女精品一区二区 | 精品少妇人妻av一区二区三区 | 哪里可以看免费毛片 | 欧美福利在线视频 | 成人免费网站在线观看 | 欧美精品一区二区三区三州 | 五月花成人网 | 极品91尤物被啪到呻吟喷水 | 日韩一区二区三 | 黄色激情视频网站 | 欧美性生交片4 | 自拍偷拍国产视频 | 好男人www日本 | 中文字幕一区二区三区四区不卡 | 日韩免费高清 | 成人尤物| 国产麻豆精品在线 | 黄色免费视屏 | 夜夜操夜夜骑 | 国产婷婷 | 看国产一级片 | 天天久久久 | 中文字幕第九页 | 中文在线第一页 | 亚洲精品久久久狠狠狠爱 | 成人午夜av在线 | 色九月婷婷 | 欧美亚洲网站 | 99久久久无码国产精品免费蜜柚 | 国产精品久久久久无码av色戒 | av电影一区二区 | 亚洲免费在线播放 | 看了下面会湿的视频 | 人妻在线日韩免费视频 | se婷婷| 99免费视频 | 丝袜美腿av在线 | 亚洲一区你懂的 | 五月天天| 国产三级一区二区三区 | porn亚洲 | 美女100%视频免费观看 | 亚洲免费精品视频在线观看 | 高清av网站 | 亚洲色吧 | 69热在线观看 | 99国产精品白浆在线观看免费 | 美国福利片 | 91在线观看视频网站 |