欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python文件操作的方法

 更新時間:2021年12月21日 09:20:01   作者:J.FengS  
本文詳細講解了Python文件操作的方法,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

目標:

  • 文件的概念
  • 文件的基本操作
  • 文件/文件夾的常用操作
  • 文本文件的編碼方式

1.文件的概念

1.1文件的概念和作用

計算機的文件,就是存儲在某種長期存儲設備上的一段數(shù)據(jù)

長期存儲設備包括:硬盤、U盤、移動硬盤、光盤····

文件的作用:

將數(shù)據(jù)長期存儲下來,在需要的時候使用

1.2文件的存儲方式

  • 在計算機中,文件是以二進制的方式保存在磁盤上的

文本文件和二進制文件

  • 文本文件
    • 可以用文本編輯軟件查看
    • 本質上還是二進制
    • 例如:Python源文件
  • 二進制文件
    • 保存的內容不是給人直接閱讀的,而是提供給其他軟件使用的
    • 例如:圖片文件、音頻文件、視頻文件等等
    • 二進制文件不能直接使用文本編輯器查看

2.文件的基本操作

2.1操作文件的套路

在計算機中,要操作文件的套路非常固定,一共包含三個步驟:

  • 打開文件
  • 讀、寫文件
    • 讀:將文件內容讀入內存
    • 寫:將內存內容寫入文件
  • 關閉文件

2.2操作文件的函數(shù)/方法

  • 在Python中操作文件需要記住1個函數(shù)和3個方法
序號 函數(shù)/方法 說明
1 open 打開文件,并返回文件操作對象
2 read 將文件內容讀取到內存
3 write 將指定內容寫入到文件
4 close 關閉文件
  • open() 函數(shù)負責打開文件,并返回文件對象
  • read/write/close三個方法都需要通過文件對象來調用

2.3read方法——讀取文件

  • open函數(shù)的第一個參數(shù),是被打開的文件名(文件名區(qū)分大小寫)
    • 如果文件存在,返回文件操作對象
    • 如果文件不存在,會拋出異常
  • read方法 可以一次性讀入并返回 文件的所有內容
  • close方法 負責關閉文件
    • 如果忘記關閉文件,會造成系統(tǒng)資源消耗,而且會影響到后續(xù)對文件的訪問
  • 注意:方法執(zhí)行后,會把文件指針移動到文件的末尾
  • 提示:
    • 在開發(fā)中,通常先編寫打開和關閉的代碼,在編寫中間針對文件讀/寫操作!
#獲得文件操作對象(sis.txt文件)
file = open("sis.txt")
#讀取
text = file.read()
print(text)
#關閉文件
file.close()
'''
運行結果
我是中文的哦
nidie中文
'''
  • 文件指針文件指針
  • 文件指針 標記 從那個位置開始讀取數(shù)據(jù)
  • 第一次打開文件時,通常文件指針會指向文件開始的位置
  • 當執(zhí)行了read方法后,文件指針會移動到讀取內容的末尾
    • 默認情況下會移動到文件末尾
  • 思考:如果執(zhí)行了一次read方法,讀取了所有內容,那么再次調用read方法還能獲取到內容嗎?
    • 答案:不能。第一次讀取內容后,文件指針移動到文件末尾,再次調用不會讀取到任何內容

文件指針演示

#獲得文件操作對象(sis.txt文件)
 file = open("sis.txt")
 #讀取
 text = file.read()
 #查看讀取文件的長度  (14)
 print(len(text))
 #輸出讀取到的文件
 print(text)
 print("*"*30)
 #重新讀取文件
 text = file.read()
 print(text)         #  空
 print(len(text))    # (0)
 #關閉文件
 file.close()
 
 """
 運行結果:
 14
 我是中文的哦
 nidie中文
 ******************************
 
 0
 """

2.4打開文件的方式

  • open函數(shù)默認以只讀方式打開,并返回文件對象

語法如下:

f = open( " 文件名 " , " 訪問方式 " )

提示:頻繁的移動指針,會影響文件讀寫效率,開發(fā)中更多的時候會以 只讀、只寫 的方式來操作文件

2.5按行讀取文件內容

  • read方法默認會把文件的所有內容一次性讀到內存
  • 如果文件太大,對內存的占用會非常嚴重

readline 方法:

  • 可以一次讀取一行內容
  • 方法執(zhí)行后,會把指針移動到下一行,準備再次讀取

讀取大文件的正確姿勢:

#打開文件
file = open("sis.txt")
while True:
    #讀取一行內容
    text = file.readline()
    #判斷是否讀取到內容
    if text == "":          #或者 if not text:
        print(type(text))   #<class 'str'>
        break
    #每讀取到末尾都會有一個 \n
    print(text,end="")
"""
運行結果:
python1一
python2二
python3三
python4四<class 'str'>
"""

2.6文件讀寫案例——復制文件

目標:用代碼實現(xiàn)文件的復制過程

小文件復制

打開一個已有文件,讀取完整內容,并寫入到另一個文件

#復制小文件方式1
 file_read = open("sis.txt","r")
 file_write = open("test.txt","w")
 text_1 = file_read.read()
 text_2 = file_write.write(text_1)
 file_write.close()
 file_read.close()
 
 #復制小文件方式2 推薦(with關鍵字,會自動釋放文件對象空間)
 test = None
 with open("sis.txt","r") as file:
     test = file.read()
 with open("test1.txt","w") as file:
     file.write(test)

大文件復制

打開一個已有文件,逐行讀取內容,并順序寫入到另一個文件

#大文件復制
 file_read = open("五筆詞根1.jpg","rb")
 file_write = open("五筆詞根2.jpg","wb")
 while True:
     text = file_read.readline()
     #python中,除了‘'、""、0、()、[]、{}、None為False, 其他轉換都為True。 也就是說字符串如果不為空,則永遠轉換為True。
     if not text:
         break
     file_write.write(text)
 file_read.close()
 file_write.close()

2.7文件讀寫中的函數(shù)

文件讀取— Python 3.10.1 文檔

3.文件/目錄的常用管理操作

  • 在 終端/文件瀏覽 中可以執(zhí)行常規(guī)的 文件/目錄 管理操作,例如

創(chuàng)建、重命名、刪除、改變路勁、查看目錄內容........

  • 在Python中如果希望通過程序實現(xiàn)上述功能,需要導入 os 模塊

文件操作:

目錄操作:

提示:文件或者目錄操作,都支持相對路徑絕對路勁

4.文本文件的編碼方式

pass

# -*- coding: utf8 -*-

# -*- coding: utf-8 -*-

# -*- coding: gbk -*-

5.拓展:eval函數(shù)

eval函數(shù)功能非常強大——將字符串當成有效的表達式來求值,并返回計算結果

# -*- coding: gbk -*-
#基本的數(shù)學計算
print(eval("1+1"))
#字符串重復
print(eval("'*'*30"))
#將字符串轉變成列表
print(type(eval("[1,2,3,4,5]")))
#將字符串轉變成元組
print(type(eval("(1,2,3,4,5)")))
#將字符串轉變成字典
print(type(eval("{'name':'蘋果','age':18}")))

案例——計算器

input_str = input("輸入算數(shù)題")
print(eval(input_str))
'''
運行:
輸入算數(shù)題1+1
2
'''

注意:在開發(fā)的時候千萬不要使用 eval 直接轉換 input 的結果

以上所述是小編給大家介紹的Python文件操作的方法,希望對大家有所幫助。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • Python 中制作偶數(shù)列表的方法

    Python 中制作偶數(shù)列表的方法

    這篇文章主要介紹了Python 中制作偶數(shù)列表的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Python argv用法詳解

    Python argv用法詳解

    這篇文章主要介紹了Python argv用法詳解的相關資料,涉及到python argv相關知識,需要的朋友可以參考下
    2016-01-01
  • 使用Python腳本實現(xiàn)批量網站存活檢測遇到問題及解決方法

    使用Python腳本實現(xiàn)批量網站存活檢測遇到問題及解決方法

    本文是小編自己編寫的一個使用python實現(xiàn)批量網站存活檢測。在項目測試中非常有用。本文給大家分享了遇到的問題及解決方案,非常不錯,具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-10-10
  • 用Python爬取618當天某東熱門商品銷量數(shù)據(jù),看看大家喜歡什么!

    用Python爬取618當天某東熱門商品銷量數(shù)據(jù),看看大家喜歡什么!

    618購物節(jié),準備分析一波購物節(jié)大家都喜歡買什么?本文以某東為例,Python爬取618活動的暢銷商品數(shù)據(jù),并進行數(shù)據(jù)清洗,最后以可視化的方式從不同角度去了解暢銷商品中,名列前茅的商品是哪些?銷售數(shù)據(jù)如何?用戶好評如何?等等,需要的朋友可以參考下
    2021-06-06
  • Django框架模型簡單介紹與使用分析

    Django框架模型簡單介紹與使用分析

    這篇文章主要介紹了Django框架模型簡單介紹與使用,結合實例形式分析了Django框架中模型的概念、原理、使用技巧與相關操作注意事項,需要的朋友可以參考下
    2019-07-07
  • python中CURL 和python requests的相互轉換實現(xiàn)

    python中CURL 和python requests的相互轉換實現(xiàn)

    本文主要介紹了python中CURL 和python requests的相互轉換實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 基于Python寫個"點球大戰(zhàn)"小游戲

    基于Python寫個"點球大戰(zhàn)"小游戲

    這篇文章主要為大家詳細介紹了如何利用Python寫個簡單的"點球大戰(zhàn)"小游戲,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2022-12-12
  • 如何使用Python修改matplotlib.pyplot.colorbar的位置以對齊主圖

    如何使用Python修改matplotlib.pyplot.colorbar的位置以對齊主圖

    使用matplotlib.colors模塊可以完成大多數(shù)常見的任務,下面這篇文章主要給大家介紹了關于如何使用Python修改matplotlib.pyplot.colorbar的位置以對齊主圖的相關資料,需要的朋友可以參考下
    2022-07-07
  • 用Python制作檢測Linux運行信息的工具的教程

    用Python制作檢測Linux運行信息的工具的教程

    這篇文章主要介紹了用Python制作檢測Linux運行信息的工具的教程,主要是用CPython讀取運行系統(tǒng)的硬件參數(shù)、網絡傳輸流量統(tǒng)計等,需要的朋友可以參考下
    2015-04-04
  • tensorflow創(chuàng)建變量以及根據(jù)名稱查找變量

    tensorflow創(chuàng)建變量以及根據(jù)名稱查找變量

    這篇文章主要為大家詳細介紹了tensorflow創(chuàng)建變量以及根據(jù)名稱查找變量,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03

最新評論