python檔案操作與模組 7

2021-09-25 11:42:53 字數 4533 閱讀 9900

1.3定位讀取

2.模組(module)及目錄操作

檔案操作的流程

序號用途

方法功能

1開啟/關閉

f=open(file)

開啟檔案

2close()

關閉檔案

3讀寫檔案內容

f.read([size])

從檔案中讀取指定的位元組數:若未指定,讀取所有

4f.readline([size])

讀取整行,包括"\n"

5f.readlines([size])

讀取所有行,並返回列表

6f.write(str)

將字串寫入檔案,並返回字串長度

7f.writelines(str)

向檔案中寫入乙個序列字串列表。如果需要換行,需要自己加入換行符

8f.flush()

重新整理檔案緩衝,直接把內部緩衝的資料寫入檔案

9檔案定位

f.seek(offset)

設定檔案的當前位置,即指標位置

10f.tell()

返回檔案的當前位置,即指標位置

格式:

file_object=

open

(file,[

,mode],[

,encoding=

"utf-8"],

[,buffering]

)

解釋

#與py檔案在同一目錄

f=open

('./date/greenflowerporcelain.txt'

,'r'

)f.read(

)print

(f.name)

print

(f.mode)

print

(f.closed)

f.close(

)print

(f.closed)

檔案物件的屬性屬性

描述f.name

返回檔案的名稱

f.mode

返回檔案的訪問模式

f.closed

如果檔案已經關閉,返回true;否則false

mode表模式

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

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

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

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

w開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

wb以二進位制格式開啟乙個檔案只用於寫入。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

w+開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

wb+以二進位制格式開啟乙個檔案用於讀寫。如果該檔案已存在則將其覆蓋。如果該檔案不存在,建立新檔案。

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

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

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

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

關閉

f.close()

可以節約記憶體資源

readline()

readlines()

f.tell()

f.seek()

開發過程中,程式**會越來越多,如果直接放在乙個檔案裡,**會越來越長。–>**不易維護

為了編寫方便維護的**,可以吧不同功能的**分組,儲存在不同的檔案裡。這樣每個檔案包含的**量就會比較少,方便維護

在python中,乙個.py檔案就可以稱為乙個模組即:

使用的模組的優點:

避免變數名重複

python中匯入模組的常用方式:

import 模組名稱

import 模組名稱 as 新名稱

from 模組名稱 import 函式名

區別

from 模組名稱 import 函式名

import random

random.random(

)from random import

*random(

)

注意

import語句的對應模組順序(pep) 程式最上方

operator system

os模組是python標準庫中用於訪問作業系統功能的模組。

使用os模組提供的介面,能實現跨平台訪問。

最常見的操作

os.name:先視我們正在使用的平台

os.getenv()–>讀取環境變數

os.getcwd()–>獲取當前路徑

os.mkdir(

'a')

os.makedirs(

'f:\python\程式/a1'

)

os.rmdir(

'date'

)os.removedirs(

'f:\python\程式\date'

)#[winerror 145] 目錄不是空的。

import os

print

(os.getcwd())

os.chdir(

'..'

)print

(os.getcwd())

#f:\python\程式

#f:\python

#..表示上一級

print

(os.path.exists(

'date'))

#true

print

(os.path.getsize(

'one.txt'))

#6154

print

(os.path.dirname(

'f:\python\程式\date\one.txt'))

#f:\python\程式\date

print

(os.path.basename(

'f:\python\程式\date\one.txt'))

#one.txt

print

(os.path.abspath(

'one.txt'))

#f:\python\程式\one.txt

print

(os.path.join(

'f:\python\程式\date'

,'one.txt'))

#f:\python\程式\date\one.txt

print

(os.path.split(

'f:\python\程式\date\one.txt'))

#('f:\\python\\程式\\date', 'one.txt')

import  time

a=os.path.getmtime(

'one.txt'

)print

(time.strftime(

'%y-%m-%d-%x'

,time.localtime(a)))

print

(time.strftime(

'%y-%m-%d-%x'

,time.localtime(os.path.getatime(

'one.txt'))

))print

(time.strftime(

'%y-%m-%d-%x'

,time.localtime(os.path.getctime(

'one.txt'))

))'''2019-07-22-11:02:58

2019-07-22-17:08:58

2019-07-22-17:08:17

'''

import os

#.代表從當前資料夾開始 ..帶表從上級資料夾開始

path=os.walk(

'..'

)for i in path:

print

(i)

Python 五 模組與檔案操作

模組是包含python定義和語句的檔案,把一組相關函式或 組織到乙個檔案中,乙個檔案即乙個模組.模組的檔名 模組名 字尾.py 模組之間 共享,可以相互呼叫,實現 重用.import 模組名 匯入乙個模組 import 模組名1 模組名2 模組名3 匯入多個模組模組和變數一樣也有作用域的區別,如果在...

Python 檔案操作 pickle模組

python中關於對檔案的操作存在這樣乙個問題 從檔案中讀取資料時返回的是字串。將各種型別的python物件寫入檔案是很容易的,但是將這些型別的資料從檔案中恢復出來是比較難的一件事。但是python提供的pickle模組可以幫助我們實現這樣的操作。pickle模組幾乎可以將所有的python物件都轉...

Python檔案操作模組shutil

shutil.copyfileobj fsrc,fdst length import shutil f1 open 1.txt r encoding utf 8 f2 open 2.txt w encoding utf 8 shutil.copyfileobj f1,f2 f1.close f2.c...