中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python文件讀寫操作方法是怎樣的

發布時間:2022-01-25 09:27:06 來源:億速云 閱讀:144 作者:iii 欄目:開發技術

本篇內容主要講解“Python文件讀寫操作方法是怎樣的”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Python文件讀寫操作方法是怎樣的”吧!

Python文件讀寫操作方法是怎樣的

文件與文件路徑

  • 在 Windows 中,根文件夾名為 C:\,也稱為 C:盤。在 OS X 和 Linux中,根文件夾是/
  • 文件夾名稱和文件名在Windows和OS X 上是不區分大小寫的,但是在linux上是區分大小寫的。

在文件夾層次結構中的一個文件

Windows 上的倒斜杠以及 OS X 和 Linux 上的正斜杠

在 Windows 上,路徑書寫使用倒斜杠作為文件夾之間的分隔符。但在 OS X 和Linux 上,使用正斜杠作為它們的路徑分隔符。如果想要程序運行在所有操作系統上,在編寫 Python 腳本時,就必須處理這兩種情況。

如果將單個文件和路徑上的文件夾名稱的字符串傳遞給它,os.path.join()就會返回一個文件路徑的字符串,包含正 確的路徑分隔符。

>>> import os
>>> os.path.join('usr','bin','spam')'usr\\bin\\spam'

如果需要創建文件名稱的字符串,os.path.join()函數就很有用。這些字符串將傳遞給幾個文件相關的函數。

下面的例子將一個文件名列表中的名稱,添加到文件夾名稱的末尾。

>>> myFiles = ['accounts.txt', 'details.csv', 'invite.docx']
>>> for filename in myFiles:print(os.path.join('C:\\Users\\asweigart', filename))
C:\Users\asweigart\accounts.txt
C:\Users\asweigart\details.csv
C:\Users\asweigart\invite.docx

當前工作目錄

每個運行在計算機上的程序,都有一個“當前工作目錄”,或cwd。所有沒有從根文件夾開始的文件名或路徑,都假定在當前工作目錄下。利用os.getcwd()函數,可以取得當前工作路徑的字符串,并可以利用 os.chdir()改變它。

絕對路徑與相對路徑

  • “絕對路徑”,總是從根文件夾開始。
  • “相對路徑”,它相對于程序的當前工作目錄。

還有點(.)和點點(..)文件夾。它們不是真正的文件夾,而是可以在路徑中使用的特殊名稱*。單個的句點(“點”)用作文件夾目名稱時,是“這個目錄”的縮寫。兩個句點(“點點”)意思是父文件夾。*

在工作目錄 C:\bacon 中的文件夾和文件的相對路徑:

用 os.makedirs()創建新文件夾

處理絕對路徑和相對路徑

os.path 模塊提供了一些函數,返回一個相對路徑的絕對路徑,以及檢查給定的路徑是否為絕對路徑。

調用 os.path.abspath(path)將返回參數的絕對路徑的字符串。這是將相對路徑轉換為絕對路徑的簡便方法。

調用 os.path.isabs(path),如果參數是一個絕對路徑,就返回True,如果參數是一個相對路徑,就返回 False。

調用 os.path.relpath(path,start)將返回從start路徑到path的相對路徑的字符串。如果沒有提供 start,就使用當前工作目錄作為開始路徑。

調用 os.path.dirname(path)將返回一個字符串,它包含path參數中最后一個斜杠 之前的所有內容。

調用 os.path.basename(path)將返回一個字符串,它包含path參數中最后一個斜杠之后的所有內容。

如果同時需要一個路徑的目錄名稱和基本名稱,就可以調用os.path.split(),獲得這兩個字符串的元組

>>> calcFilePath = 'C:\\Windows\\System32\\calc.exe'>>> os.path.split(calcFilePath)
('C:\\Windows\\System32', 'calc.exe')

os.path.split()不會接受一個文件路徑并返回每個文件夾的字符串的列表。如果需要這樣,請使用split()字符串方法,并根據os.path.sep中的字符串進行分割。回憶一下,根據程序運行的計算機,os.path.sep 變量設置為正確的文件夾分割斜杠。

>>> calcFilePath.split(os.path.sep)
['C:', 'Windows', 'System32', 'calc.exe']
查看文件大小和文件夾內容
調用 os.path.getsize(path)將返回 path 參數中文件的字節數。
調用 os.listdir(path)將返回文件名字符串的列表,包含 path 參數中的每個文件
檢查路徑有效性
如果 path 參數所指的文件或文件夾存在,調用 os.path.exists(path)將返回 True,否則返回 False。
如果 path 參數存在,并且是一個文件,調用 os.path.isfile(path)將返回 True,否則返回 False。

文件讀寫過程

在 Python 中,讀寫文件有 3 個步驟:

調用 open()函數,返回一個 File 對象。
調用 File 對象的 read()或 write()方法。
調用 File 對象的 close()方法,關閉該文件。

用 open()函數打開文件

要用 open()函數打開一個文件,就要向它傳遞一個字符串路徑,表明希望打開的文件。這既可以是絕對路徑,也可以是相對路徑。open()函數返回一個 File 對象。

讀取文件內容

調用 open()將返回一個File對象。File對象代表計算機中的一個文件,它只是Python 中另一種類型的值,就像你已熟悉的列表和字典。

調用readlines()方法,從文件取得一個字符串的列表。列表中的每個字符串就是文本中的每一行

調用read()方法可以將文件的內容讀取為一個字符串值。如果將文件的內容看成是單個大字符串,用這個方法就很好。

與單個大字符串相比,字符串的列表通更易處理

寫入文件

如果打開文件時用讀模式,就不能寫入文件。你需要以“寫入純文本模式”或“添加純文本模式”打開該文件,或簡稱為“寫模式”和“添加模式”。

寫模式將覆寫原有的文件,從頭開始,就像你用一個新值覆寫一個變量的值。將’w’作為第二個參數傳遞給 open(),以寫模式打開該文件。

添加模式將在已有文件的末尾添加文本。你可以認為這類似向一個變量中的列表添加內容,而不是完全覆寫該變量。將’a’作為第二個參數傳遞給open(),以添加模式打開該文件。

如果傳遞給 open()的文件名不存在,寫模式和添加模式都會創建一個新的空文件。

在讀取或寫入文件后,調用 close()方法,然后才能再次打開該文件

>>> baconFile = open('bacon.txt', 'w')
>>> baconFile.write('Hello world!\n')
13
>>> baconFile.close()
>>> baconFile = open('bacon.txt', 'a')
>>> baconFile.write('Bacon is not a vegetable.')
25
>>> baconFile.close()
>>> baconFile = open('bacon.txt')
>>> content = baconFile.read()
>>> baconFile.close()
>>> print(content)
Hello world!
Bacon is not a vegetable.

write()方法不會像 print()函數那樣,在字符串的末尾自動添加換行字符。必須自己添加該字符。

到此,相信大家對“Python文件讀寫操作方法是怎樣的”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丹巴县| 大石桥市| 渝中区| 东乌珠穆沁旗| 南投县| 府谷县| 彝良县| 定陶县| 霍林郭勒市| 德格县| 乐亭县| 宝应县| 长寿区| 北辰区| 扎兰屯市| 平度市| 黄龙县| 藁城市| 江都市| 池州市| 西昌市| 华容县| 柘荣县| 沛县| 玛沁县| 九龙县| 克山县| 长白| 南郑县| 宜春市| 兴隆县| 峨山| 萨嘎县| 翼城县| 洛宁县| 霍州市| 新乡市| 景洪市| 兴海县| 宜兴市| 罗源县|