python 檔案及os操作

2021-10-14 18:41:58 字數 4008 閱讀 3331

read()方法從乙個開啟的檔案中讀取乙個字串。需要重點注意的是,python字串可以是二進位制資料,而不是僅僅是文字。

write()方法可將任何字串寫入乙個開啟的檔案。需要重點注意的是,python字串可以是二進位制資料,而不是僅僅是文字。

write()方法不會在字串的結尾新增換行符('\n'):

file 物件的 close()方法重新整理緩衝區裡任何還沒寫入的資訊,並關閉該檔案,這之後便不能再進行寫入。

當乙個檔案物件的引用被重新指定給另乙個檔案時,python 會關閉之前的檔案。用 close()方法關閉檔案是乙個很好的習慣。

# 開啟檔案

file = open("new_file.txt", 'r', encoding='utf-8')

# 讀取資料

data = file.read()

print(data)

#關閉檔案

file.close()

模式rr+

ww+aa+

讀+++

+寫++

+++建立

++++

覆蓋++指標在開始++

++指標在結尾++

模式描述

t文字模式 (預設)。

x寫模式,新建乙個檔案,如果該檔案已存在則會報錯。

b二進位制模式。

+開啟乙個檔案進行更新(可讀可寫)。

r以唯讀方式開啟檔案。檔案的指標將會放在檔案的開頭。這是預設模式。

rb以二進位制格式開啟乙個檔案用於唯讀。檔案指標將會放在檔案的開頭。這是預設模式。一般用於非文字檔案如等。

r+開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。

rb+以二進位制格式開啟乙個檔案用於讀寫。檔案指標將會放在檔案的開頭。一般用於非文字檔案如等。

w開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

wb以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。一般用於非文字檔案如等。

w+開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。

wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則開啟檔案,並從開頭開始編輯,即原有內容會被刪除。如果該檔案不存在,建立新檔案。一般用於非文字檔案如等。

a開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

ab以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。也就是說,新的內容將會被寫入到已有內容之後。如果該檔案不存在,建立新檔案進行寫入。

a+開啟乙個檔案用於讀寫。如果該檔案已存在,檔案指標將會放在檔案的結尾。檔案開啟時會是追加模式。如果該檔案不存在,建立新檔案用於讀寫。

ab+以二進位制格式開啟乙個檔案用於追加。如果該檔案已存在,檔案指標將會放在檔案的結尾。如果該檔案不存在,建立新檔案用於讀寫。

在 w 模式下,如果之前沒有這個檔案,將會建立新檔案

寫入中文需要指定編碼格式為 utf-8, gbk

todo: 坑1:如果之前已經存在同名檔案,使用 mode='w' 模式,會覆蓋之前的檔案內容。

mode = 'a', 追加模式

mode = 'x', 原創模式,獨創模式

mode = 'b', 二進位制模式, 't'文字

file = open('new_file.txt', mode='a', encoding='utf-8')

# 寫入資料

file.write("英文太多,我記不住")

# 關閉檔案

file.close()

f = open('new_file.txt','r',encoding='utf-8')

data = f.read()

print(data)

模組:.py 檔案就是模組。【實際上 .pyc  .pyo pyd  so  dll, 】動態庫

什麼是包:包含了 __init__.py 的模組的資料夾(目錄)

模組和包的作用:就是為了組織**。

# 第一種

import os.path

# 第二種方式

from os import path

# os.path 主要處理系統路徑相關的操作。

# 第一種

import os.path

# 第二種方式

from os import path

# os.path 主要處理系統路徑相關的操作。

# 獲取檔案的絕對路徑

# 什麼是絕對路徑?? 從系統的碟符或者是系統根目錄開始,

# 相對路徑。 乙個路徑相對於另乙個路徑的說法。

# d: d:\班級管理

# 用得最多的是 os.path.abspath(__file__)

# 因為絕對路徑不會變

print(os.path.abspath(__file__)) #demo_02_os, class12_路徑處理類和物件\demo_02_os.py

# __file__

# __name__

print(__file__) # 檔案路徑(相對)

print(__name__) #模組名,沒有路徑

# 獲取現在的檔案絕對路徑

file_path = os.path.abspath(__file__)

print("filepath", file_path)

# 獲取上一級路徑

dir_name = os.path.dirname(file_path)

# 路徑拼接 檔案 / 檔案

# 所有獲取到的路徑,只是乙個路徑的表示,並不代表這個檔案或者路徑真的存在。

# 說白了:路徑得到的是乙個字串。這個字串是乙個路徑格式 `\` ,

txt_path = os.path.join(dir_name, 'demo.txt' )

with open(txt_path, 'w') as f:

f.write("new txt file")

# 獲取當前工作目錄

print(os.getcwd())

# 建立乙個新的目錄(資料夾)

if not os.path.exists("subdir"):

print(os.mkdir('subdir'))

# 判斷乙個路徑存不存在

# print(os.path.exists("d:\olg"))

# 判斷路徑是否是乙個檔案

# 獲取到的路徑得到是乙個字串。

print(os.path.isfile(os.getcwd()))

print(os.path.isdir(os.getcwd()))

模組.demo_01_什麼是模組.visit('')

from 模組 import demo_01_什麼是模組

demo_01_什麼是模組.visit('')

demo_01_什麼是模組.respose()

# from ++++ import ++++

from 模組.demo_01_什麼是模組 import visit, respose

visit('')

# 匯入所有的

from 模組.demo_01_什麼是模組 import *

visit('')

respose()

Python 檔案及資料夾操作 os

import os os.mkdir 新資料夾 注意如果要建立的資料夾已經存在的話會報錯的 import os if not os.path.exists 新資料夾 os.mkdir 新資料夾 import os os.makedirs 第一層資料夾 第二層資料夾 第三層資料夾 shutil.cop...

Python檔案操作,OS庫

python 檔案操作 開啟檔案 input open filetest utf8.data encoding utf 8 input2 open filetest gbk.data encoding gbk str input.read 5 讀取指定位元組 print str 漢字也被視為乙個位元...

python 檔案操作OS總結

python 檔案操作os總結 最近在用,坐下總結!os的一些操作 os.listdir path 列出該資料夾下面的目錄,一般這麼用 folders 1 os.listdir prefix for folder in folders 1 遍歷這個目錄 os.makedirs path 建立該路徑 ...