Python 五 模組與檔案操作

2021-08-16 06:15:13 字數 3790 閱讀 6632

模組是包含python定義和語句的檔案,把一組相關函式或**組織到乙個檔案中,乙個檔案即乙個模組.模組的檔名 = 模組名+字尾.py 模組之間**共享,可以相互呼叫,實現**重用.

import 模組名 #匯入乙個模組

import 模組名1[,模組名2][,模組名3] #匯入多個模組

模組和變數一樣也有作用域的區別,如果在模組的頂層匯入,則作用域是全域性的;如果在函式中匯入,則作用域是區域性的.乙個模組只能被載入一次,無論它被匯入多少次,這樣可以阻止多重匯入時,**被多次執行.在實際編碼時,推薦直接在頂層匯入.

匯入的模組也分幾種,有python的標準庫模組,第三方模組和應用程式自定義的模組.如果是第一次匯入,模組將被載入並執行,載入執行時在搜尋路徑中找到指定的模組,之後再呼叫時就不需要再次載入了.

示例:

import sys

print sys.platform

當引用模組裡面的函式時,就要使用」模組名.函式名」引用.

如果不使用模組名,而直接用函式名進行呼叫,就需要在匯入時指定需要使用的模組的屬性.

from 模組名 import 屬性名

from 模組名 import (屬性名1)[,屬性名2][,屬性名3]...

還可以使用as關鍵字為模組屬性重新命名.

import 模組名 as 模組新名稱

from 模組名 import 屬性名 as 屬性新名稱

當程式中的模組非常多時,可以把模組再進行劃分,組織成包.包實際上就是乙個目錄,但必須包含乙個__init__.py檔案.__init__檔案可以是乙個空檔案,表示當i安目錄是乙個包.包可以巢狀使用,包中還可以包含其他子包.

模組名稱

說明copy

複製keyword

記錄關鍵字

random

獲得隨機數

sys空盒子shell程式

time

得到時間

- random模組

方法操作

random()

生成乙個隨機浮點數(0.0~1.0)

uniform([上限],[下限])

在設定的範圍內產生乙個浮點數

randint([上限],[下限])

隨機生成設定範圍內的乙個整數

choice(序列)

從該序列中選取乙個隨機的元素返回

shuffle(序列)

隨機打亂乙個序列中元素的順序

sample(序列,長度)

從指定的序列中隨機擷取指定長度的片段,序列本身不作修改

示例:

import random

print random.uniform(1, 5)

print random.randint(0, 1)

list1 = ['a','b','c']

print random.choice(list1)

random.shuffle(list1)

print list1

屬性/方法

操作path

獲取模組的搜尋路徑,初始化時使用pythonpath環境變數的值

platform

獲取作業系統平台的名稱

version

獲取直譯器的版本資訊

maxint

最大的int值

maxunicode

最大的unicode值

stdin

讀取資訊到shell程式中

stdout

向sshell程式輸出資訊

exit()

退出shell程式

- time模組

各種操作時間的方法.

屬性/方法

操作time()

獲取localtime()

獲取當前時間的元組形式

ctime()

獲取當前時間的字串形式

asctime(t)

將時間轉換成字串,引數t時元組形式的時間

sleep(secs)

按指定的時間推遲執行,引數是推遲的時間,單位是秒

模式操作說明r

讀取檔案必須存在w寫入

如果檔案存在,會先清空其中資料,在重新建立a追加

如果檔案不存在,現自動建立檔案.所有寫入的資料都將追加到檔案的末尾

b二進位制檔案

注意:開啟之後記得close();

file = open("c:/users/administrator/desktop/test.txt",'w')

file.write("veng")

file.close()

file = open("c:/users/administrator/desktop/test.txt","r")

print file.read(3) #讀取多少個字元

file.readline() #讀取一行

file.close()

補充:還有其他讀寫模式(r+,w+,a+);r+表示不清除原始檔內容,讀寫方式開啟,而新添的資料在檔案尾部;w+表示清除原始檔內容,讀寫方式開啟,讀不到原始檔內容;a+表示吧檔案指標移到檔案末尾,在檔案末尾可以繼續些資料,度資料不受影響.

從python2.2開始引進了迭代器和檔案迭代.

for

line

infile:

print line

方法

操作open()

建立並開啟檔案

file.close()

關閉檔案

file.fileo()

返回檔案的描述符

file.read(size = -1)

從檔案讀取size個位元組,當size<0時,讀取剩餘的所有位元組,作為字串返回

file.readline(sizhint=0)

從檔案中讀取並返回一行(包括行結束符),或返回最大的size個字元

file.readlines(sizhint=0)

讀取檔案的所有行並作為乙個列表返回(包括所有行結束符).如果給定的sizhint且大於0,將返回總和大約為sizhint位元組的行

file.seek(off,whence = 0)

相對於whence位置的偏移offset.0代表檔案的開始,1代表當前位置,2代表檔案末尾

file.write(str)

向檔案寫入字串

file.writeline(seq)

向檔案寫入字串序列seq

目錄操作可以使用python的os模組.

- 獲取當前路徑–getcwd()

import os

print

os.getcwd() #獲取當前路徑

print

os.listdir(os.getcwd())

os.mkdir("python") #預設目錄建立在當前目錄下.
os.rmdir("python") #刪除目錄
print

os.path.isdir("python")

print

os.path.isfile("python")

o = os.walk("c:/users/administrator/desktop/")

print [f for f in o]

python檔案操作與模組 7

1.3定位讀取 2.模組 module 及目錄操作 檔案操作的流程 序號用途 方法功能 1開啟 關閉 f open file 開啟檔案 2close 關閉檔案 3讀寫檔案內容 f.read size 從檔案中讀取指定的位元組數 若未指定,讀取所有 4f.readline size 讀取整行,包括 n...

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...