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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

【Python开发】8. 文件操作

發(fā)布時(shí)間:2024/1/18 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python开发】8. 文件操作 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文專欄:Python開發(fā)筆記  點(diǎn)擊查看系列文章

本文主要內(nèi)容:

      • 1. 讀取文件
        • 1.1 文件路徑
        • 1.2 讀取整個(gè)文件
        • 1.3 逐行讀取
      • 2. 寫入文件
        • 2.1 寫入空文件
        • 2.2 寫入多行
        • 2.3 內(nèi)容追加

1. 讀取文件

1.1 文件路徑

讀取文件使用的函數(shù)是 open() ,當(dāng)然要給函數(shù)指定 文件的位置,即 文件路徑 。

提供的路徑主要有兩種路徑

  • 相對文件路徑:即相對于當(dāng)前運(yùn)行的程序所在的目錄。
  • 絕對文件路徑:文件在計(jì)算機(jī)中的準(zhǔn)確位置。

如果在當(dāng)前運(yùn)行的程序HelloWorld.py的同級(jí)目錄下有一個(gè)名為file的文件夾,該文件夾下有一個(gè)名為data.txt的文件,那么這個(gè)文件路徑就可以定義為:

file_path = 'file/data.txt'

當(dāng)然上面這個(gè)路徑定義,使用的是相對路徑。

如果使用絕對路徑,那么應(yīng)該這樣定義:

file_path = 'D:/PycharmProjects/學(xué)習(xí)階段/HelloWorld/file/data.txt'

1.2 讀取整個(gè)文件

已知在上面定義的txt 文件中寫入了幾行數(shù)字,那么可以使用下面這樣的代碼讀取整個(gè)文件中的內(nèi)容:

file_path = 'file/data.txt' with open(file_path) as file_object:contents = file_object.read()print(contents)

可以將所有的文本打印出來:

1024 2048 4096

1.3 逐行讀取

如果想逐行讀取文件,那么可以參考下面的示例:

示例:

lineNum = 1 file_path = 'file/data.txt' with open(file_path) as file_object:for line in file_object:print('第' + str(lineNum) + '行:' + line)lineNum += 1

示例輸出:

1行:10242行:20483行:4096

在上面這個(gè)示例中,可以看到每一行都多輸出了一個(gè)空行。這是因?yàn)閜rint語句加上一個(gè)換行符,文件的每一行也有一個(gè)換行符導(dǎo)致的。

可以使用 rstrip() 解決。

示例:

lineNum = 1 file_path = 'file/data.txt' with open(file_path) as file_object:for line in file_object:print('第' + str(lineNum) + '行:' + line.rstrip()) # 這里加上rstrip()lineNum += 1

示例輸出:

1行:10242行:20483行:4096

在以上的示例中,均采用for循環(huán),在讀取文件時(shí),即將文件逐行輸出。

其實(shí)還可以將文件中的每一行內(nèi)容,存儲(chǔ)在一個(gè)列表中,然后在使用的時(shí)候,直接使用列表。

示例:

lineNum = 1 file_path = 'file/data.txt' with open(file_path) as file_object:lines = file_object.readlines()# 然后通過列表讀取數(shù)據(jù) for line in lines:print('第' + str(lineNum) + '行:' + line.rstrip())lineNum += 1

輸出結(jié)果同上。

2. 寫入文件

2.1 寫入空文件

寫入文件時(shí),依舊使用 open() 方法。

其實(shí)在 open() 方法中,除了文件路徑這個(gè)參數(shù)外,第二個(gè)參數(shù)是 文件的模式 。文件的模式主要有:

  • ‘r’:讀取模式
  • ‘w’:寫入模式
  • ‘a(chǎn)’:附加模式
  • 缺省:只讀模式

所以,寫入文件,只需要將 open() 方法的第二個(gè)實(shí)參寫為’w’即可。

注意:使用寫入模式打開文件時(shí),如果指定的文件不存在,則自動(dòng)創(chuàng)建。如果該文件已存在,則將清空該文件!!!

示例:

file_path = 'file/data2.txt' with open(file_path, 'w') as file_object:file_object.write('WUT')

將上面的代碼運(yùn)行后,將新建一個(gè) data2.txt 的文件,并寫入數(shù)據(jù) WUT 。

注意:Python只能將字符串寫入文本文件。要將數(shù)值數(shù)據(jù)存儲(chǔ)到文本文件中,必須先使用函數(shù)str() 將其轉(zhuǎn)換為字符串格式。

2.2 寫入多行

多寫幾行write語句,即可寫入多行數(shù)據(jù)。

示例:

file_path = 'file/data2.txt' with open(file_path, 'w') as file_object:file_object.write('I love WUT')file_object.write('I love CST')

上面這個(gè)示例將兩個(gè)句子寫入了data2.txt文件中。

這時(shí),打開data2.txt,看到數(shù)據(jù)是這樣的:

I love WUTI love CST

其實(shí)想讓其單行顯示,只需要在每個(gè)寫入語句末尾加上換行符。

示例:

file_path = 'file/data2.txt' with open(file_path, 'w') as file_object:file_object.write('I love WUT\n')file_object.write('I love CST\n')

這時(shí),打開data2.txt,看到數(shù)據(jù)是這樣的:

I love WUT I love CST

這符合我們的預(yù)期。

2.3 內(nèi)容追加

看到這里,內(nèi)容追加也就很簡單了。

直接使用 附加模式 打開文件,即可進(jìn)行內(nèi)容的追加。

接著上面的data2.txt文件,這次以附加模式打開這個(gè)文件,然后再寫入幾行數(shù)據(jù):

file_path = 'file/data2.txt' with open(file_path, 'a') as file_object:file_object.write('Zhang San love WUT\n')file_object.write('Li Si love WUT,also\n')

這時(shí),即可將上面的內(nèi)容追加到data2.txt文件中。

參考文獻(xiàn):

[1] Python編程:從入門到實(shí)踐

如果有幫助,感謝動(dòng)動(dòng)小手點(diǎn)個(gè)贊 (??????)???

總結(jié)

以上是生活随笔為你收集整理的【Python开发】8. 文件操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。