Python3檔案訪問open與os路徑操作

2021-10-07 21:14:01 字數 2682 閱讀 9129

讀檔案有3種方法

read(

)將文字檔案所有line讀到乙個字串中,注意這會是乙個超級無敵長的字串。

readline(

)是一行一行的讀取

readlines(

)是將文字檔案中所有行讀到乙個list

中,文字檔案每一行是list

的乙個元素,這個元素是string型別

readline(

)類似是生成器(iterator),用for迭代,記憶體占用少,在迭代處理過程中方便對特定行的處理

用with open自帶關閉文字的功能
with

open

('file.txt'

,'r'

)as f:

data = f.read(

), readlines(

), readline(

) f.write(

)但要注意的是使用with

open

as,操作檔案語句都要放在with

open的下級語句塊內,也就是縮排關係,否則會報錯的哦。

open

('file.txt'

,'rb'

)簡單說就是,任何非標準的文字檔案(對py2標準是ascii,對py3標準是unicode)就需要用二進位制讀入這個檔案,然後再用.decode(

'...'

)的方法來解碼。

f =open

('jay.***'

,'rb'

)u = f.read(

).decode(

'xx'

)

# 辨別host主機是win還是linux

import os

os.name

os.uname(

)os.environ # 包含 1.系統級存package目錄 2.本程式根目錄 3.python安裝目錄

>>

> os.name

'posix'

>>

> os.uname(

)posix.uname_result(sysname=

'linux'

, nodename=

'zod3a68uddhlx95'

, release=

'4.4.0-18362-microsoft'

, version=

'#476-microsoft fri nov 01 16:53:00 pst 2019'

, machine=

'x86_64'

)>>

>

os.path.abspath(

'.')

# 當前目錄的絕對路徑

#在某個目錄下建立乙個新目錄, path.join會自動新增分隔符 /

os.path.join(

'dirs'

,'filename'

)# 首先把新目錄完整路徑拼接出來

>>

> os.path.join(

'a/b/c'

,'c/d'

)'a/b/c/c/d'

>>

> os.path.join(

'a/b'

,'c/d'

)'a/b/c/d'

>>

>

路徑拼接,經常遇到路徑分隔符/

, \\ 的不同,使用介面 os.sep

# 建立/刪除 資料夾

os.mkdir(

)os.rmdir(

)# 路徑拆分

os.path.split(

) 直接獲取檔名

>>

> os.path.split(

'/baiduyundownload/04.python入門班/material/檔案訪問與函式式程式設計入門.py')(

'/baiduyundownload/04.python入門班/material'

,'檔案訪問與函式式程式設計入門.py'

)# 直接獲取副檔名 檔案型別

>>

> os.path.splitext(

'k:\baiduyundownload\04.python入門班\material\檔案訪問與函式式程式設計入門.py')(

'k:\\baiduyundownload\x04.python入門班\\material\\檔案訪問與函式式程式設計入門'

,'.py'

)>>

>

os.rename(

)os.remove(

)

尷尬的是…複製檔案沒有介面。原因是複製檔案這個操作,不是由作業系統提供的系統呼叫。

我們可以用open(『file』) + for迭代來複製檔案。也可以用shutil庫,可以看做是os庫的補充,直接提供了copyfile()方法

case1 列出當前目錄下的所有目錄:

使用列表推導式 [x for x in os.listdir('.') if os.path.isdir(x)]

case2 只列出.py檔案

列表推導式: [file for file in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.py']

python 3讀取檔案 Python3 檔案讀寫

python open 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式 1.讀取檔案 with open test json dumps.txt mode r encoding utf 8 as f seek 移動游標至指定位置 f.seek 0 read 讀取整個檔...

python 3 檔案管理

import os,tempfile,glob,shutil 建立目錄 os.mkdir r home rain test filedir 建立目錄以及所有path中包含的上級目錄 os.makedirs r home rain test test filedir 切換當前工作目錄 os.chdir...

python3 檔案處理

python open 方法用於開啟乙個檔案,並返回檔案物件,在對檔案進行處理過程都需要使用到這個函式,如果該檔案無法被開啟,會丟擲 oserror。注意 使用 open 方法一定要保證關閉檔案物件,即呼叫 close 方法。open 函式常用形式是接收兩個引數 檔名 file 和模式 mode o...