日韩性视频-久久久蜜桃-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编程的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 精品视频99 | 国产a级大片| 婷婷亚洲一区 | 一区二区三区欧美在线 | 久久婷婷五月综合色国产香蕉 | 欧美精品一区二区三区在线播放 | 熟女少妇a性色生活片毛片 亚洲伊人成人网 | 深爱激情久久 | 日韩视频一区二区在线观看 | 99re5| 一级黄色大片在线观看 | 亚洲欧美日韩精品久久 | 亚洲黄色激情 | 小sao货水好多真紧h无码视频 | 日本免费一区二区三区四区五六区 | 日日操夜夜操视频 | 88av网站| 欧美做受xxxxxⅹ性视频 | 91成人在线观看国产 | 中文字幕Av日韩精品 | 日韩在线观看视频一区二区 | 亚洲风情第一页 | 黄色中文视频 | 夜夜欢天天干 | 日韩亚洲一区二区 | 91免费在线视频观看 | 精品久久中文字幕 | 欧美乱大交xxxxx春色视频 | 香蕉视频黄版 | 欧美 亚洲 | 草逼视频网站 | 91久久久久久 | 成年人福利网站 | 欧美日韩一区免费 | 少妇又色又紧又大爽又刺激 | 日日操视频 | 国产精品美女久久久久av超清 | 国产午夜福利片 | 欧美性生活一区二区 | 高清一区二区 | 国产精品无码久久久久久电影 | 午夜小福利| 日本大尺度吃奶做爰视频 | 亚洲精品成人久久 | 精品国产专区 | 91水蜜桃 | 国产伦精品一区二区三区精品 | 中出精品 | 国精产品一二三区精华液 | 中国xxxx性xxxx产国 | 日韩成人免费视频 | 欧美成视频 | 少妇视频网站 | 色婷婷精品久久二区二区密 | 捆绑无遮挡打光屁股调教女仆 | 99福利影院 | 白白色免费视频 | 亚洲精品在线视频 | 成人一区二区在线 | 亚洲色成人www永久网站 | 欧美日韩中文在线观看 | 性少妇mdms丰满hdfilm | 国产女主播一区 | 国产亚洲欧美日韩精品一区二区三区 | 午夜视频日韩 | 日韩在线观看网址 | 精品国产一区三区 | 黄色录像一级大片 | 天天插综合 | 日本三级韩国三级三级a级中文 | 老司机深夜福利在线观看 | 成人影片在线免费观看 | 久久久6 | 夜夜操夜夜爽 | 福利在线一区二区 | 久久青青操 | 91丨九色丨国产在线 | 日韩精品一区二区三区国语自制 | 一道本不卡视频 | 日韩中文av| 日韩aaa | 中日韩在线观看视频 | 男女激情在线观看 | 国产精品亚洲二区在线观看 | 日本h片在线观看 | 91视频青青草 | 19禁大尺度做爰无遮挡电影 | 国产精品久久久久不卡 | 精品日日夜夜 | 一级片中文| 久草中文在线视频 | 日本视频在线观看 | 国产精品三级在线 | 天天色av | 精品国产第一页 | 桃谷绘里香在线播放 | 绿帽单男 | 欧美精品自拍 | 麻豆网站在线免费观看 |