国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python基礎(chǔ)語(yǔ)法(五)—— 文件基本操作(打開、寫入、關(guān)閉、查找)

這篇具有很好參考價(jià)值的文章主要介紹了Python基礎(chǔ)語(yǔ)法(五)—— 文件基本操作(打開、寫入、關(guān)閉、查找)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。


文件

1. 什么是文件?

我們平時(shí)所創(chuàng)建的變量都是保存在內(nèi)存中的,我們知道如果重啟應(yīng)用或者重啟機(jī)器,內(nèi)存中的數(shù)據(jù)就會(huì)丟失。
如果想讓數(shù)據(jù)能夠持久化存儲(chǔ),就可以把數(shù)據(jù)保存到文件或者是數(shù)據(jù)庫(kù)中。

比如windows上,通過后綴名可以看到常見的文件類型有:

  • 可執(zhí)行文件(exe)
  • 文本文件(txt)
  • 圖片文件(jpg、png)
  • office文件 (.ppt、.xlsx)

2. 文件路徑

一個(gè)機(jī)器上,會(huì)存在很多文件,為了讓這些文件更方便的管理和組織,往往會(huì)使用很多的“文件夾”,也就是我們平常所說(shuō)的目錄

為了更家準(zhǔn)確的確定一個(gè)文件的位置,就可以使用文件路徑
Python基礎(chǔ)語(yǔ)法(五)—— 文件基本操作(打開、寫入、關(guān)閉、查找)

D:\root\PyCharm Community Edition 2022.1\bin\pycharm64.exe這就是PyCharm軟件的絕對(duì)路徑

  • D:表示的是盤符,不區(qū)分大小寫
  • 每一個(gè)\表示一級(jí)目錄
  • 在 windows中目錄之間的分割符,可以用/也可以用\
  • 這里是是介紹來(lái)了絕對(duì)路徑,和它對(duì)應(yīng)的是相對(duì)路徑,用../來(lái)表示上一級(jí)路徑,./表示當(dāng)前路徑

3. 文件操作

要想使用文件,主要是通過文件來(lái)保存數(shù)據(jù),在需要的時(shí)候把保存的數(shù)據(jù)讀取出來(lái)
但是想要讀寫文件,需要先打開文件,讀寫完畢之后一定要記得關(guān)閉文件,防止文件資源泄露

1) 打開文件

使用內(nèi)置函數(shù)open打開文件

file = open('D:/root/test.txt', 'r')
print(type(file))
# 運(yùn)行結(jié)果
<class '_io.TextIOWrapper'>
  • 第一個(gè)參數(shù)是字符串,表示要打開文件路徑
  • 第二個(gè)參數(shù)也是一個(gè)字符串,表示文件打開的方式,其中r表示只讀,w表示按照寫方式打開,a表示追加的方式打開
  • 如果文件打開成功,就會(huì)返回一個(gè)文件對(duì)象,后續(xù)的讀寫文件操作都是圍繞著這個(gè)文件對(duì)象操作
  • 如果打開文件敗(比如路徑寫錯(cuò)了或者文件壓根不存在),就會(huì)拋出異常

2) 關(guān)閉文件

是用文件對(duì)象.close方法關(guān)閉已經(jīng)打開的文件

file = open('D:/root/test.txt', 'r')
file.close()

使用完一個(gè)文件一定要記得及時(shí)關(guān)閉
一個(gè)程序同時(shí)打開的文件個(gè)數(shù)是存在上限的!

my_list = []
count = 0
while True:
    file = open('D:/root/test.txt', 'r')
    my_list.append(file)
    count += 1
    print(f'file{count}')

Python基礎(chǔ)語(yǔ)法(五)—— 文件基本操作(打開、寫入、關(guān)閉、查找)

如果一直循環(huán)打開文件不關(guān)閉的話,達(dá)到一定數(shù)量就會(huì)拋出異常

注意:上面的每個(gè)文件對(duì)象都用列表保存起來(lái)了,如果不保存就不會(huì)拋出異常,因?yàn)镻ython內(nèi)置的垃圾回收機(jī)制,會(huì)在文件對(duì)象銷毀的時(shí)候自動(dòng)關(guān)閉所有文件
但是垃圾回收機(jī)制不一定及時(shí),所以寫代碼不要依賴?yán)厥諜C(jī)制

3) 寫文件

  • 如果要寫文件,就要以寫的方式打開,把第二個(gè)參數(shù)設(shè)置為w
  • 使用write方法寫數(shù)據(jù)
file = open('D:/root/test.txt', 'w')
file.write('hello world')
file.close()

Python基礎(chǔ)語(yǔ)法(五)—— 文件基本操作(打開、寫入、關(guān)閉、查找)
用記事本打開test.txt文件就能查看被寫進(jìn)去的數(shù)據(jù)

  • 如果使用r方式打開文件,則寫入時(shí)就會(huì)拋出異常
  • 使用w一旦打開文件 成功,就會(huì)清空文件原有的數(shù)據(jù)
  • 使用a實(shí)現(xiàn)“追加寫入”,此時(shí)原有內(nèi)容不變,寫入的額內(nèi)容會(huì)存在于之前文件內(nèi)容的末尾
file = open('D:/root/test.txt', 'w')
file.write('hello world')
file.close()

file = open('D:/root/test.txt', 'a')
file.write('\n你好世界')
file.close()

Python基礎(chǔ)語(yǔ)法(五)—— 文件基本操作(打開、寫入、關(guān)閉、查找)

  • 針對(duì)已經(jīng)關(guān)閉 的文件對(duì)象進(jìn)行寫操作也會(huì)拋出異常

4) 讀文件

  • 讀文件需要使用r的方式打開文件
  • 使用read方法完成操作,參數(shù)表示讀取幾個(gè)字符,不填參數(shù)則是默認(rèn)讀取整個(gè)文件
file = open('D:/root/test.txt', 'r')
tmp = file.read(5)
print(tmp)
  • 如果讀取文件的時(shí)候遇到編碼方式報(bào)錯(cuò),可以手動(dòng)指定的讀取文件的編碼方式
file = open('D:/root/test.txt', 'r', encoding='utf8')
tmp = file.read()
print(tmp)
  • 如果是多行文本,可以使用for循環(huán)一次讀取一行
file = open('D:/root/test.txt', 'r', encoding='utf8')
count = 1
for tmp in file:
    print(f'第{count}行:{tmp}', end='')
    count += 1
file.close()

  • 使用readlines直接把整個(gè)文件內(nèi)容讀取出來(lái),返回一個(gè)列表,每個(gè)元素為一行
file = open('D:/root/test.txt', 'r', encoding='utf8')

lists = file.readlines()
print(lists)
print(type(lists))
file.close()
# 運(yùn)行結(jié)果
['hello world\n', '你好世界\n', '測(cè)試\n', '文件\n', '讀寫\n', '\n', '上面是空行']
<class 'list'>

4. 使用上下文管理器

當(dāng)打開文件之后,有的時(shí)候老是忘記關(guān)閉文件對(duì)象,于是Python提供了上下文管理器,來(lái)幫助程序員自動(dòng)關(guān)閉文件(類似于Java的try)

  • 使用with語(yǔ)句打開文件
  • 當(dāng) with內(nèi)部的代碼塊執(zhí)行完畢后, 就會(huì)自動(dòng)調(diào)用關(guān)閉方法
with open('D:/root/test.txt', 'r', encoding='utf8') as file:
    lines = file.readline()
    print(lines)

上下文管理器起到的效果就是一個(gè)監(jiān)控,當(dāng) with對(duì)應(yīng)的代碼塊執(zhí)行完畢后,就會(huì)自動(dòng)執(zhí)行 文件對(duì)象的 close方法

5. 實(shí)現(xiàn)文件查找工具

指定一個(gè)待搜索的文件路徑,同時(shí)指定一個(gè)要搜索的文件關(guān)鍵字
在待搜索路徑中查找是否文件名中包含這個(gè)關(guān)鍵字文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-428064.html

  • 使用os.walk即可實(shí)現(xiàn)目錄的遞歸遍歷,不需要手動(dòng)寫遞歸
  • os.walk 返回一個(gè)三元組, 分別是 當(dāng)前路徑 , **當(dāng)前路徑下包含的目錄名 **(多個(gè)), 當(dāng)前路徑下包含的文件名 (多個(gè))

import os
path = input('請(qǐng)輸入要搜索的絕對(duì)路徑:')
keyword = input('請(qǐng)輸入要查找的文件名的關(guān)鍵字:')
'''
dir_path:遍歷到當(dāng)前位置的絕對(duì)路徑啥
dir_names:當(dāng)前路徑下都有哪些目錄
file_names:當(dāng)前目錄下都有哪些文件(保存的是文件命名)
'''
for dir_path, dir_names, file_names in os.walk(path):
    for f_name in file_names:
        if keyword in f_name:
            print(f'{dir_path}/{f_name}')

到了這里,關(guān)于Python基礎(chǔ)語(yǔ)法(五)—— 文件基本操作(打開、寫入、關(guān)閉、查找)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【100天精通python】Day19:python文件及目錄操作_基本文件操作

    目錄 專欄導(dǎo)讀? 1 文件的創(chuàng)建打開和關(guān)閉 2.1 使用內(nèi)置函數(shù)open(),close()創(chuàng)建打開和關(guān)閉

    2024年02月15日
    瀏覽(27)
  • Linux文件操作基礎(chǔ)及基本I/O函數(shù)使用

    Linux文件操作基礎(chǔ)及基本I/O函數(shù)使用

    Linux是一個(gè)基于文件系統(tǒng)的操作系統(tǒng),文件操作是其中一項(xiàng)最基本的任務(wù)之一。通過文件操作,用戶可以創(chuàng)建、移動(dòng)、復(fù)制、讀取和修改文件及目錄等。 1.ls:列出目錄中的文件和子目錄。 ls -a:顯示所有包括隱藏文件。 ls -l:使用長(zhǎng)格式輸出文件詳細(xì)信息。 ls -h:顯示文件大

    2024年02月01日
    瀏覽(42)
  • 【100天精通python】Day19:文件及目錄操作_基本文件操作

    目錄 專欄導(dǎo)讀? 1 文件的創(chuàng)建打開和關(guān)閉 2.1 使用內(nèi)置函數(shù)open(),close()創(chuàng)建打開和關(guān)閉

    2024年02月14日
    瀏覽(25)
  • python數(shù)字圖像處理基礎(chǔ)(二)——圖像基本操作、滑動(dòng)條、鼠標(biāo)操作

    python數(shù)字圖像處理基礎(chǔ)(二)——圖像基本操作、滑動(dòng)條、鼠標(biāo)操作

    import cv2 import numpy as np import matplotlib.pyplot as plt 圖像讀取 cv2.MREAD_COLOR: 彩色圖像 或用1 cv2.IMREAD_GRAYSCALE:灰度圖像 或用0 img = cv2.imread(‘cat.jpg’, cv2.IMREAD_GRAYSCALE) 等同于: img = cv2.imread(‘cat.jpg’, 0) 圖像的顯示,也可以創(chuàng)建多個(gè)窗口 cv2.imshow(‘img’, img) 等待時(shí)間,毫秒級(jí),0表示

    2024年01月18日
    瀏覽(28)
  • python讀寫文件操作的三大基本步驟

    目錄 基本步驟 常用函數(shù) open()函數(shù) close()函數(shù) read()函數(shù) readlines()函數(shù) readline()函數(shù) write()函數(shù) writelines()函數(shù) with語(yǔ)句 讀寫操作的應(yīng)用: 拷貝文件 ?with 語(yǔ)句的嵌套 逐行拷貝 1. 打開文件:open(filepath, mode, encoding) 2. 讀寫文件:read() / write() 3. 關(guān)閉文件:close() python讀取文件操作實(shí)

    2024年02月22日
    瀏覽(17)
  • 【Python】Python讀寫.xlsx文件(基本操作、空值補(bǔ)全等)

    【Python】Python讀寫.xlsx文件(基本操作、空值補(bǔ)全等)

    本文介紹如何使用使用 pandas 庫(kù)來(lái)讀取xlsx文件中的數(shù)據(jù)。 需要安裝openpyxl庫(kù)才可以讀取xlsx文件,使用pip install openpyxl。 當(dāng)然也可以用其他的庫(kù),比如openpyxl、xlrd,可以參考: https://blog.csdn.net/moasad/article/details/120120673 https://blog.csdn.net/liuyingying0418/article/details/101066630 2.1 基本操

    2023年04月13日
    瀏覽(21)
  • 開始MySQL之路—— DDL語(yǔ)法、DML語(yǔ)法、DQL語(yǔ)法基本操作詳解

    開始MySQL之路—— DDL語(yǔ)法、DML語(yǔ)法、DQL語(yǔ)法基本操作詳解

    DDL(Data Definition Language) 數(shù)據(jù)定義語(yǔ)言,該語(yǔ)言部分包括以下內(nèi)容。 對(duì)數(shù)據(jù)庫(kù)的常用操作 對(duì)表結(jié)構(gòu)的常用操作 修改表結(jié)構(gòu) 1: 查看當(dāng)前所有的數(shù)據(jù)庫(kù) show databases; 2:創(chuàng)建數(shù)據(jù)庫(kù) create database if not exists 數(shù)據(jù)庫(kù)名稱; create database 數(shù)據(jù)庫(kù)名稱; 3:選擇使用哪一個(gè)數(shù)據(jù)庫(kù) use 數(shù)據(jù)庫(kù)

    2024年02月10日
    瀏覽(43)
  • ES基本查詢語(yǔ)法_Kibana操作(持續(xù)更新)

    1. ES查詢索引下所有的數(shù)據(jù) 2. ES單字段精確查詢 3. ES多字段精確查詢(默認(rèn)Kibana查詢最多展示10條記錄,可以通過設(shè)置size來(lái)展示更多匹配到的數(shù)據(jù)) 4. ES數(shù)組字段精確查詢 5. ES日期范圍查詢(大寫HH表示24小時(shí)制) 6. 查詢ES索引下的數(shù)據(jù)量 7. 查詢ES索引下的mapping關(guān)系 7. 查詢E

    2024年02月11日
    瀏覽(20)
  • 瀏覽器常用基本操作之python3+selenium4自動(dòng)化測(cè)試(基礎(chǔ)篇)

    瀏覽器常用基本操作之python3+selenium4自動(dòng)化測(cè)試(基礎(chǔ)篇)

    1、打開指定的網(wǎng)頁(yè)地址 我們使用selenium進(jìn)行自動(dòng)化測(cè)試時(shí),打開瀏覽器之后,第一步就是讓瀏覽器訪問我們指定的地址,可使用get方法實(shí)現(xiàn) 1 2 3 from selenium import webdriver driver = webdriver.Edge() driver.get( \\\'https://www.baidu.com/\\\' )?? # 本行用于訪問指定的地址 2、獲取當(dāng)前頁(yè)面url 我們?cè)?/p>

    2024年02月01日
    瀏覽(93)
  • 【Redis】Redis在Linux與windows上的安裝&基本操作語(yǔ)法

    【Redis】Redis在Linux與windows上的安裝&基本操作語(yǔ)法

    Redis 是完全開源免費(fèi)的,遵守BSD協(xié)議,是一個(gè)高性能的key-value數(shù)據(jù)庫(kù)。 Redis 與其他 key - value 緩存產(chǎn)品 有以下三個(gè)特點(diǎn): Redis支持?jǐn)?shù)據(jù)的持久化,可以將內(nèi)存中的數(shù)據(jù)保持在磁盤中,重啟的時(shí)候可以再次加載進(jìn)行使用。 Redis不僅僅支持簡(jiǎn)單的key-value類型的數(shù)據(jù),同時(shí)還提供

    2024年02月06日
    瀏覽(89)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包