起初data.txt檔案是這樣的

# 一直打開檔案但卻不關閉檔案會導致記憶體溢位 # 在python,使用open函式, # 可以打開一個已經存在的檔案,或者創建一個新檔案, # 語法如下: open(name, mode) # name: 是要打開的目標檔案名的字串(可以包含檔案所在的具體路徑), # mode: 設定打開檔案的模式(訪問模式):只讀、寫入、追加等, # mode r w a # r 只讀不支持寫入 # 使用f.write()會報錯 # 如果讀取的檔案不存在就報錯 # read(num) 讀取資料, # num不寫默認讀取全部資料 num寫了就讀取指定大小的位元組 f = open('data.txt', 'r') print(f.read()) # 讀取全部資料 f.close()
輸出:

# 注意:如果執行了一次 read 方法,讀取了所有內容, # 那么再次呼叫 read 方法,是不能讀取到任何的內容, # 因為第一次讀取之后,檔案指標移動到了檔案末尾, # 再次呼叫不會讀取到任何的內容, # readlines() # 將檔案里面的資料按行保存到串列中 # readline() # 運行一次讀取一行 f = open('data.txt', 'r') print(f.readlines()) data = f.readlines() # data = https://www.cnblogs.com/qc2012/p/f.readlines()[1] # 讀取第二行 print(data) # 因為運行完上一個readlines()游標在檔案末尾 f.close()

起初是這樣的:

# w 覆寫寫 # 如果該檔案存在,則打開檔案并從開頭開始編輯,即原有內容會被洗掉, # 如果該檔案不存在,創建新檔案, # writelines() 將串列里的資料保存到檔案中 data = https://www.cnblogs.com/qc2012/p/['靜夜思666\n', '唐66代:李白\n', '床前明月光,疑是地上霜,\n', '舉頭望明月,低頭思故鄉,'] f = open('data1.txt', 'w') f.writelines(data) f.close()
運行后data1.txt變為了:

緊接著運行
f = open('data1.txt', 'w') f.write('zbc') f.close()

因為,訪問模式為w時,游標每次都從檔案開頭開始,即原有內容會被洗掉
緊接著運行了兩次下面這幾行代碼
# a 追加資料 f = open('data1.txt', 'a') f.write('\nzbc\n') # 注意換行符 f.close()

運行下面代碼
# r+ 讀寫 w+ a+ f = open('data.txt', 'r+') f.write('我') # 會覆寫第一行的相應字符 漢字占兩個位元組 f.close()
運行后:

起始時:

運行代碼:
# 檔案與檔案夾的操作 # 復制 洗掉 重命名 移動 import os # 匯入模塊 # 重命名 # os.rename(檔案(夾)名稱, 新的名稱) # 重命名 # 若原檔案不存在,則報錯 os.rename('abc.txt', 'data1.txt')
運行后:

運行前:

運行代碼:
os.rename(r'D:\xiangxuexue\\01\\day15', r'D:\xiangxuexue\\01\\day-15') # 要注意那個r!!!
運行后:

運行前:

運行代碼:
os.remove(r'data1.txt') # 洗掉檔案
運行后:

運行前:

運行代碼:
os.mkdir('data') # 創建一個檔案夾
運行后:

運行前:

運行代碼:
os.makedirs('data\\data2') # 創建整個路徑的檔案夾
運行后:

緊接著運行代碼:
os.rmdir('data\\data2') # 只會洗掉最里面的一個檔案夾
運行后:

運行代碼:
# # 查找 data = https://www.cnblogs.com/qc2012/p/os.listdir(r'D:\xiangxuexue\01\day16') # 回傳一個串列 檔案夾里面的檔案 print(data) # ['data', 'data.txt', '__init__.py', '檔案操作.py'] print() data = os.walk(r'D:\xiangxuexue\01\day16') for i in data: print(i) # 看路徑 # 獲取當前路徑 print() print(os.getcwd()) # D:\xiangxuexue\01\day16 # 判斷檔案是否存在 if os.path.exists('data.txt'): print('yes')
輸出:

運行前:

運行代碼:
import shutil shutil.copy('data.txt', r'D:\xiangxuexue\01\useless') # 只復制 shutil.copy('data.txt', r'D:\xiangxuexue\01\useless\data2.txt') # 復制加重命名
運行后:

今日練習;
# 今日練習 ''' 1、 創建一個data.txt的檔案 2、用檔案的寫的方法往里面寫上一首詩,并輸出里面的全部內容 靜夜思 唐代:李白 床前明月光,疑是地上霜, 舉頭望明月,低頭思故鄉, 3、洗掉最后一行的詩句后并輸出洗掉后的內容 ''' print('今日練習') f = open('data.txt', 'w') # 創建data.txt檔案 # poem = ['靜夜思\n', '唐代:李白\n', '床前明月光,疑是地上霜,\n', '舉頭望明月,低頭思故鄉,'] # f.writelines(poem) # 引數是個串列!而write()引數是個字串 f.write('靜夜思\n唐代:李白\n床前明月光,疑是地上霜,\n舉頭望明月,低頭思故鄉,') f.close() f = open('data.txt', 'r') data = f.readlines() # 以每行為一個元素,以串列形式存盤! del data[3] # 洗掉最后一行 poem_new = data print(data) f.close()

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/538515.html
標籤:Python
