最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python open()文件處理使用介紹

 更新時間:2014年11月30日 21:45:03   投稿:mdxy-dxy  
這篇文章主要介紹了Python open()文件處理使用介紹,需要的朋友可以參考下

1. open()語法

open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]])
open函數(shù)有很多的參數(shù),常用的是file,mode和encoding
file文件位置,需要加引號
mode文件打開模式,見下面3
buffering的可取值有0,1,>1三個,0代表buffer關(guān)閉(只適用于二進(jìn)制模式),1代表line buffer(只適用于文本模式),>1表示初始化的buffer大小;
encoding表示的是返回的數(shù)據(jù)采用何種編碼,一般采用utf8或者gbk;
errors的取值一般有strict,ignore,當(dāng)取strict的時候,字符編碼出現(xiàn)問題的時候,會報錯,當(dāng)取ignore的時候,編碼出現(xiàn)問題,程序會忽略而過,繼續(xù)執(zhí)行下面的程序。
newline可以取的值有None, \n, \r, ”, ‘\r\n',用于區(qū)分換行符,但是這個參數(shù)只對文本模式有效;
closefd的取值,是與傳入的文件參數(shù)有關(guān),默認(rèn)情況下為True,傳入的file參數(shù)為文件的文件名,取值為False的時候,file只能是文件描述符,什么是文件描述符,就是一個非負(fù)整數(shù),在Unix內(nèi)核的系統(tǒng)中,打開一個文件,便會返回一個文件描述符。

2. Python中file()與open()區(qū)別
兩者都能夠打開文件,對文件進(jìn)行操作,也具有相似的用法和參數(shù),但是,這兩種文件打開方式有本質(zhì)的區(qū)別,file為文件類,用file()來打開文件,相當(dāng)于這是在構(gòu)造文件類,而用open()打開文件,是用python的內(nèi)建函數(shù)來操作,建議使用open

3. 參數(shù)mode的基本取值

Character Meaning
‘r' open for reading (default)
‘w' open for writing, truncating the file first
‘a(chǎn)' open for writing, appending to the end of the file if it exists
‘b' binary mode
‘t' text mode (default)
‘+' open a disk file for updating (reading and writing)
‘U' universal newline mode (for backwards compatibility; should not be used in new code)

r、w、a為打開文件的基本模式,對應(yīng)著只讀、只寫、追加模式;
b、t、+、U這四個字符,與以上的文件打開模式組合使用,二進(jìn)制模式,文本模式,讀寫模式、通用換行符,根據(jù)實際情況組合使用、

常見的mode取值組合

r或rt 默認(rèn)模式,文本模式讀
rb   二進(jìn)制文件
 
w或wt 文本模式寫,打開前文件存儲被清空
wb  二進(jìn)制寫,文件存儲同樣被清空
 
a  追加模式,只能寫在文件末尾
a+ 可讀寫模式,寫只能寫在文件末尾
 
w+ 可讀寫,與a+的區(qū)別是要清空文件內(nèi)容
r+ 可讀寫,與a+的區(qū)別是可以寫到文件任何位置

4. 測試
測試文件test.txt,內(nèi)容如下:

Hello,Python
m.fzitv.net
This is a test file

用一小段代碼來測試寫入文件直觀的顯示它們的不同

test = [ "test1\n", "test2\n", "test3\n" ]
f = open("test.txt", "a+")
try:
 #f.seek(0)
 for l in test:
  f.write(l)
finally:
 f.close()

a+、w+和r+模式的區(qū)別(測試后還原test.txt)
a+模式

# cat test.txt
Hello, Python
m.fzitv.net
This is a test file
test1
test2
test3

w+模式

# cat test.txt
test1
test2
test3

r+模式
在寫入文件前,我們在上面那段代碼中加上一句f.seek(0),用來定位寫入文件寫入位置(文件開頭),直接覆蓋字符數(shù)(注意\n也是一個字符)

# cat test.txt
test1
test2
test3
inuxeye.com
This is a test file

注意:r+模式打開文件時,此文件必須存在,否則就會報錯,‘r'模式也如此
其他測試

>>> f = open('test.txt')
>>> f.read() #讀取整個文件,字符串顯示
'Hello,Python\nm.fzitv.net\nThis is a test file\n'
>>> f.read() #指針在文件末尾,不能再讀取內(nèi)容
''
>>> f = open('test.txt')
>>> f.readline() #一次讀一行,指針在該行末尾
'Hello,Python\n'
>>> f.tell() #改行的字符長度
13
>>> f.readline()
'm.fzitv.net\n'
>>> f.tell()
30
>>> f.readline()
'This is a test file\n'
>>> f.tell()
50
>>> f.readline()
''
>>> f.tell() #指針停在最后一行
50
>>> f = open('test.txt')
>>> f.readlines() #讀取整個文件,以列表顯示
['Hello,Python\n', 'm.fzitv.net\n', 'This is a test file\n']
>>> f.tell() #指針在最后一行
50
>>> f = open('test.txt','w') #覆蓋創(chuàng)建新文件
>>> f.write('Hello,Python!') #如果寫入內(nèi)容小于1024,會存在內(nèi)存,否則需要刷新
>>> f.flush() #寫入到硬盤
>>> f.close() #關(guān)閉文件會自動刷新
>>> f.write('Hello,Linuxeye') #關(guān)閉后,寫失敗,提示文件已經(jīng)關(guān)閉
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ValueError: I/O operation on closed file 

相關(guān)文章

  • Python中SQLAlchemy庫的使用方法分析

    Python中SQLAlchemy庫的使用方法分析

    SQLAlchemy 是Python SQL工具包和對象關(guān)系映射器(ORM),允許Python開發(fā)者在應(yīng)用程序中使用SQL來交互,而無需處理數(shù)據(jù)庫的具體細(xì)節(jié),本文給大家詳細(xì)分析了Python中SQLAlchemy庫的使用方法,需要的朋友可以參考下
    2024-08-08
  • IDA Pro 6.0使用Qt框架實現(xiàn)了跨平臺的UI界面

    IDA Pro 6.0使用Qt框架實現(xiàn)了跨平臺的UI界面

    通過本文帶領(lǐng)大家學(xué)習(xí)如何使用PySide使用IDAPython為 IDA Pro 創(chuàng)建 UI 界面,對IDA Pro 6.0使用Qt 框架實現(xiàn)了跨平臺的UI相關(guān)知識感興趣的朋友一起看看吧
    2021-07-07
  • Python實現(xiàn)在Excel中繪制可視化大屏的方法詳解

    Python實現(xiàn)在Excel中繪制可視化大屏的方法詳解

    今天小編來給大家分享如何在Excel文檔當(dāng)中來繪制可視化圖表,并且制作一個可視化大屏。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-01-01
  • Python-pip配置國內(nèi)鏡像源快速下載包的方法詳解

    Python-pip配置國內(nèi)鏡像源快速下載包的方法詳解

    pip如果不配置國內(nèi)鏡像源的話,下載包的速度非常慢,畢竟默認(rèn)的源在國外呢,這篇文章主要介紹了Python-pip配置國內(nèi)鏡像源快速下載包的方法詳解,需要的朋友可以參考下
    2024-01-01
  • Pyinstaller打包報錯小結(jié)

    Pyinstaller打包報錯小結(jié)

    本文主要介紹了Pyinstaller打包報錯小結(jié),詳細(xì)的介紹了5種錯誤的解決方法,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • 一篇文章徹底搞懂Python切片操作

    一篇文章徹底搞懂Python切片操作

    利用python解決問題的過程中,經(jīng)常會遇到從某個對象中抽取部分值的情況,"切片"操作正是專門用于實現(xiàn)這一目標(biāo)的有力武器,下面這篇文章主要給大家介紹了關(guān)于Python切片操作的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • Python中切片操作的示例詳解

    Python中切片操作的示例詳解

    在剛學(xué)python時候,我們都知道字符串(String)、列表(list)和元組(tuple)序列化數(shù)據(jù)類型支持切片操作。本文我們將對熟悉的切片操作進(jìn)行系統(tǒng)學(xué)習(xí),感興趣的可以了解一下
    2022-11-11
  • 運用python去除圖片水印

    運用python去除圖片水印

    本文介紹了如何運用python去除圖片的水印,文中使用圖片以及代碼詳細(xì)的介紹了兩種去除的方法,感興趣的朋友可以自己參考一下
    2021-08-08
  • Python enumerate函數(shù)功能與用法示例

    Python enumerate函數(shù)功能與用法示例

    這篇文章主要介紹了Python enumerate函數(shù)功能與用法,結(jié)合實例形式分析了enumerate函數(shù)針對列表、字符串遍歷操作相關(guān)使用技巧,需要的朋友可以參考下
    2019-03-03
  • python制作英語翻譯小工具代碼實例

    python制作英語翻譯小工具代碼實例

    這篇文章主要介紹了python制作英語翻譯小工具代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09

最新評論

灵丘县| 北安市| 高安市| 玉环县| 余姚市| 中西区| 南木林县| 辽源市| 襄垣县| 兴义市| 郧西县| 迭部县| 衡东县| 奇台县| 布尔津县| 正阳县| 清水县| 莲花县| 江孜县| 博野县| 青河县| 裕民县| 巨鹿县| 甘德县| 深泽县| 保山市| 隆安县| 齐河县| 阜新市| 滨海县| 喀喇沁旗| 焉耆| 依兰县| 宾川县| 嘉兴市| 阳原县| 沐川县| 阿巴嘎旗| 金川县| 朔州市| 宁阳县|