tft每日頭條

 > 科技

 > 如何在文件内重命名文件

如何在文件内重命名文件

科技 更新时间:2024-09-13 00:18:31

如何在文件内重命名文件?文件操作文件操作的作用就是把一些内容(數據)存儲存放起來,可以讓程序下一次執行的時候直接使用,而不必重新制作一份,省時省力,接下來我們就來聊聊關于如何在文件内重命名文件?以下内容大家不妨參考一二希望能幫到您!

如何在文件内重命名文件(文件操作-打開)1

如何在文件内重命名文件

文件操作

文件操作的作用就是把一些内容(數據)存儲存放起來,可以讓程序下一次執行的時候直接使用,而不必重新制作一份,省時省力。

1、文件操作步驟

1)打開文件

2)讀寫等操作

3)關閉文件注意:可以隻打開和關閉文件,不進行任何讀寫操作。

2.1 打開

在python中使用open函數,可以打開一個已經存在的文件,或者創建一個新文件,

語法:open(name, mode)

name:要打開的目标文件名的字符串(可以包含文件所在的具體路徑)。

mode:設置打開文件的模式(訪問模式):隻讀、寫入、追加等。

模式

描述

r

以隻讀方式打開文件,文件的指針将會放在文件的開頭,這個是默認模式。

rb

以二進制格式打開一個文件用于隻讀。文件指針放在文件的開頭,這是默認模式。

r

打開一個文件用于讀寫,文件指針放在文件的開頭。

rb

以二進制格式打開一個文件用于讀寫。文件指針将會放在文件的開頭。

w

打開一個文件隻用于寫入。如果文件已經存在則打開文件,并從開頭開始編輯。即原有内容會被删除。如果文件不存在,則創建新文件。

wb

以二進制格式打開一個文件隻用于寫入。如果該文件已存在則打開文件,并從開頭開始編輯,即原有内容被删除。如果該文件不存在,則創建新文件。

w

打開一個文件用于讀寫。如果該文件已經存在則打開文件,并從頭開始編輯,即原有内容被删除。如果該文件不存在,則創建新文件。

wb

以二進制打開一個文件并用于讀寫。如果該文件已存在則打開文件,并從開頭開始編輯,即原有内容會被删除。如果該文件不存在,則創建新文件。

a

打開一個文件用于追加。如果該文件已經存在,文件指針将會放在文件的結尾。也就是說新的内容将會寫入到已經存在的文件。如果文件不存在,則創建新文件進行寫入。

# 創建一個文件 # 1、打開open() f = open('text.txt', 'w') # 讀寫操作write() read() f.write('Hello World!') # 關閉close() f.close() """ 測試目标 1、訪問模式對文件的影響 2、訪問模式對write()的影響 3、訪問模式是否可以省略 """ # r: 如果文件不存在、報錯: 不支持寫入,表示隻讀 # f = open('text1.txt', 'r') # f.write('abcd') # 報錯 # f.close() # w: 隻寫,如果文件不存在,新建文件;如果存在執行寫入,會覆蓋原有内容。 f = open('text2.txt', 'w') f.write('abcd') # abcd f.close() # a: 隻寫,如果文件不存在,新建文件;如果存在執行追加。 f = open('text2.txt', 'a') f.write('xyz') # abcd f.close() # 訪問模式可以省略,如果省略,默認為r,文件必須存在,如果不存在會報錯。 f = open('text2.txt') f.close()

2.2 read()讀

格式:文件對象.read(num)

num标識要從文件中讀取的數據的長度(單位是字節),如果沒有傳入num,那麼就标識讀取文件中所有的數據。

注意:文件内容如果有換行,底層有、n,會有字節站位,導緻read書寫參數讀取出來的和看到的個數不一樣。

# read() f = open('text1.txt', 'w') f.write('1234567890abcd') f.close() f = open('text1.txt', 'r') print(f.read(12)) f.close()

2.2.1 readlines()

readlines可以按照行的方式把整個文件中的内容進行一次性讀取,并且返回的是一個列表,其中每一個行的數據為一個元素。

# readlines() f = open('text1.txt', 'w') f.write('1234\n5678\n90abcd') f.close() f = open('text1.txt') content = f.readlines() print(content) # ['1234\n', '5678\n', '90abcd'] f.close()

2.2.2 readline()

readline一次讀取一行内容

# readlines() f = open('text1.txt', 'w') f.write('1234\n5678\n90abcd') f.close() f = open('text1.txt') content = f.readline() print(content) # 1234 content = f.readline() print(content) # 5678 content = f.readline() print(content) # 90abcd f.close()

""" 1、測試r 和 w 區别: 2、文件指針對數據讀取的影響 """ f = open('text.txt', 'w') f.write('abcd') # abcd f.close() # r ; r沒有的文件則報錯,文件指針在開頭,所以能讀取出來數據 f = open('text.txt', 'r ') # 執行成功 # f = open('text10.txt', 'r ') # text10文件不存在,報錯 # w :沒有該文件則會新建文件;w特點:文件指針在開頭,用新内容覆蓋原内容。 f = open('text1.txt', 'w ') con = f.read() print(con) # 輸出空内容 # a : 沒有文件會新建文件,文件指針在結尾,無法讀取數據(文件指針後面沒有數據) f = open('text.txt', 'a ') con = f.read() print(con) # 輸出空内容 # f.close()

2.2 seek()

用于移動文件的指針

格式:文件對象.seek(偏移量,起始位置)

起始位置:

  • 0:文件開頭
  • 1:當前位置
  • 2:文件結尾

f = open('text.txt', 'w') f.write('aaa\nbbb\nccc\nddd\n') # abcd f.close() # # r r改變文件指針位置:改變讀取數據開始位置火把文件指針放結尾 # f = open('text.txt', 'r ') # # f.seek(2, 0) # 改變讀取數據位置,開始位置,向後偏移2 # # f.seek(0, 2) # 改變讀取數據位置,結束位置,偏移0 # con = f.read() # print(con) # a 改變文件指針位置,做到可以讀取出來數據。 f = open('text.txt', 'a ') f.seek(1, 0) # 改變讀取數據位置,開始位置,向後偏移1 # f.seek(0) 同f.seek(0,0) con = f.read() print(con) f.close()

3 文件備份

3.1 文件備份步驟

  • 接收用戶輸入的文件名。
  • 規劃備份文件名
  • 備份文件寫入數據。

f = open('白月光.txt.mp3', 'w') f.write('aaa\nbbb\nccc\nddd\n') # abcd f.close() # 1、接收用戶輸入目标文件名。 白月光.txt.mp3 old_name = input("請輸入需要備份的文件的名字:") print(old_name) # 白月光.txt.mp3 # 2、規劃備份文件的名字。 # 2.1 提取目标文件後綴 - - 找到名字中的點 将名字和後綴分離。最右側的點才是後綴的點,字符串中查找某個子串rfind index = old_name.rfind('.') # print(index) # 7 # 優化方案:如果文件名為空,如.txt是一個無效文件,需要添加一個判斷。 if index > 0: postfix = old_name[index:] # 2.2 組織新名字 = 原名字 []備份的文件名,xx[備份]後綴 # 原名字就是字符串中的一部分子串 - - 切片[開始;結束;步長] new_name = old_name[0:int(index):1] '[備份]' postfix print(new_name) # 白月光.txt[備份].mp3 # 3、備份文件寫入數據(數據和源文件一樣)。 # 3.1 打開原文件和備份文件 old_f = open(old_name, 'rb') new_f = open(new_name, 'wb') # 3.2 原文件讀取,備份文件寫入。 # 如果不确定目标文件大小,循環讀取寫入,當讀取出來的數據沒有了終止循環 while True: con = old_f.read(1024) if len(con) == 0: # 表示讀取完了 break # 3.3 關閉文件 old_f.close() new_f.close()

4 文件和文件夾的操作

在Python中文件和文件夾的操作要借助os塊裡面的相關功能,具體步驟如下:

  • 導入os模塊 import os
  • 使用os模塊相關功能 os.函數名()

4.1 文件重命名

語法:os.rename(目标文件名, 新文件名)

4.2 删除文件

語法:os.remove(目标文件名)

4.3 創建文件夾

語法:os.mkdir(文件夾名稱)

4.4 删除文件夾

語法:os.rmdir(文件夾名稱)

4.5 獲取當前目錄

語法:os.getcwd()

4.6 改變默認目錄

語法:os.chdir(目錄)

4.7 獲取目錄列表

語法:os.listdir(目錄)

import os f = open('text.txt', 'w') f.write('aaa\nbbb\nccc\nddd\n') # abcd f.close() # 1、rename():重命名 os.rename('text.txt', 'new_text.txt') # 2、remove():删除文件 os.remove('new_text.txt') # 3、創建文件夾 os.mkdir('新文件夾') # 4、删除文件夾 os.rmdir('file1') # 5、獲取當前目錄 os.getcwd() # 6、改變默認路徑 os.chdir('file2') # 7、獲取某個文件夾下所有文件,返回一個列表 os.listdir('file1') # 8、重命名文件夾 os.rename('file2', 'new_file')

4 應用案例

# 需求1:将aa文件夾内所有文件重命名 import os # 1、找多所有文件,獲取aa文件夾的目錄列表。 os.chdir('Python Project/aa') file_list = os.listdir() print(file_list) # 2、将原有文件名添加/删除指定字符串,構造名字 for i in file_list: # 新名字 = ‘python’ '原名字' new_name = 'python_' i # 3、重命名 os.rename(i, new_name) # 需求2:删除python_,重命名:1,構造條件的數據 2,書寫if import os # 構造條件的數據 flag = 2 # 1、找多所有文件,獲取aa文件夾的目錄列表。 os.chdir('Python Project/aa') file_list = os.listdir() print(file_list) # 2、将原有文件名添加/删除指定字符串,構造名字 for i in file_list: if flag == 1: # 新名字 = ‘python’ '原名字' new_name = 'python_' i elif flag == 2: num = len('python_') new_name = i[num:] # 新名字從num切片 # 3、重命名 os.rename(i, new_name)

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved