網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
Python-with open() as f的用法
with open(r'filename.txt') as f: data_user=pd.read_csv(f) #文件的讀操作 with open('data.txt', 'w') as f: f.write('hello world') #文件的寫(xiě)操作
相關(guān)參數(shù)
-
r
:以只讀方式打開(kāi)文件。文件的指針將會(huì)放在文件的開(kāi)頭。這是**默認(rèn)模式**。 -
rb
:以二進(jìn)制格式打開(kāi)一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開(kāi)頭。這是默認(rèn)模式。 -
r+
:打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。 -
rb+
:以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。文件指針將會(huì)放在文件的開(kāi)頭。 -
w
:打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。 -
wb
:以二進(jìn)制格式打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。 -
w+
:打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。 -
wb+
:以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則將其覆蓋。如果該文件不存在,創(chuàng)建新文件。 -
a
:打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入。 -
ab
:以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入。 -
a+
:打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。文件打開(kāi)時(shí)會(huì)是追加模式。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。 -
ab+
:以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。如果該文件不存在,創(chuàng)建新文件用于讀寫(xiě)。
file對(duì)象的屬性
-
file.read([size])
:將文件數(shù)據(jù)作為字符串返回,可選參數(shù)size控制讀取的字節(jié)數(shù) -
file.readlines([size])
:返回文件中行內(nèi)容的列表,size參數(shù)可選 -
file.write(str)
:將字符串寫(xiě)入文件 -
file.writelines(strings)
:將字符串序列寫(xiě)入文件 -
file.close()
:關(guān)閉文件 -
file.closed
:表示文件已經(jīng)被關(guān)閉,否則為False -
file.mode
:Access文件打開(kāi)時(shí)使用的訪問(wèn)模式 -
file.encoding
:文件所使用的編碼 -
file.name
:文件名 -
file.newlines
:未讀取到行分隔符時(shí)為None,只有一種行分隔符時(shí)為一個(gè)字符串,當(dāng)文件有多種類型的行結(jié)束符時(shí),則為一個(gè)包含所有當(dāng)前所遇到的行結(jié)束的列表 -
file.softspace
:為0表示在輸出一數(shù)據(jù)后,要加上一個(gè)空格符,1表示不加。這個(gè)屬性一般程序員用不著,由程序內(nèi)部使用
附
一道例題
將ecb.bmp的前128字節(jié)替換為bmp文件格式特有的字節(jié)的腳本
from Crypto.Util.number import long_to_bytes with open('ecb.bmp','rb') as f: #讀入 data=f.read() pre=0x424d76483f00000000007600000028000000000f000070080000010004000000000000483f00000000000000000000000000000000000000000000008000008000000080800080000000800080008080000080808000c0c0c0000000ff0000ff000000ffff00ff000000ff00ff00ffff0000ffffff00ffffffffffffffffffffL out=long_to_bytes(pre)+data[128:] with open('out.bmp','wb') as g: #寫(xiě)入 g.write(out)
總結(jié)
原文鏈接:https://blog.csdn.net/weixin_45556441/article/details/110847939
相關(guān)推薦
- 2022-09-29 C#正則表達(dá)式(Regex類)用法實(shí)例總結(jié)_C#教程
- 2022-06-13 go語(yǔ)言編程之select信道處理示例詳解_Golang
- 2022-10-20 C++淺析虛函數(shù)使用方法_C 語(yǔ)言
- 2022-07-28 Redis基本數(shù)據(jù)類型List常用操作命令_Redis
- 2022-05-11 C#?中使用Stopwatch計(jì)時(shí)器實(shí)現(xiàn)暫停計(jì)時(shí)繼續(xù)計(jì)時(shí)功能_C#教程
- 2022-10-18 AJAX請(qǐng)求以及解決跨域問(wèn)題詳解_AJAX相關(guān)
- 2022-07-31 C語(yǔ)言算法積累加tag的循環(huán)隊(duì)列_C 語(yǔ)言
- 2022-08-05 處理“URIError: URI malformed“的辦法
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過(guò)濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支