python第八章 讀寫檔案 學習記錄

2021-08-30 21:37:29 字數 2932 閱讀 6786

將單個檔案和路徑上的資料夾名稱的字串傳遞給os.path.join(),它就會返回乙個檔案路徑的字串,包含正確的路徑分隔符(根據所在的作業系統windown linux 或者mac)

os.getcwd()獲取當前工作路徑, os.chdir()改變當前路徑到指定路徑,指定目錄不存在會報錯。os.makedirs()函式建立新資料夾()

dir_path = os.getcwd()

print(dir_path)

new_path = os.chdir("f:\\workspace\\gitspace")

print(os.getcwd())

結果是:

f:\workspace\gitspace\testforstudy

f:\workspace\gitspace

絕對路徑:總是從根資料夾開始

相對路徑:它相對於程式當前的工作目錄。

os.path.relpath(path,start)將返回從start路徑到path的相對路徑的字串。

os.path.abspath(path)將返回引數的絕對路徑的字串,是將相對路徑轉換成絕對路徑的簡便方法

os.path.isabs(path)如果引數是乙個絕對路徑,就返回true,如果引數是乙個相對路徑,就返回false

os.path.dirbame(path)將返回path引數中最後乙個斜桿之前的所有內容的字串

os.path.basename(path)將返回path引數中最後乙個斜桿之後的所有內容

os.path.split()獲取目錄名稱的基本名稱,返回的是兩個字串的元組。注意:它不會接受乙個檔案路徑並返回每個問佳佳的字串的列表。

os.path.sep: 路徑分隔符,將路徑分割成列表形式

tmp = "f:\\workspace\\gitspace\\git操作步驟.txt"

print("-----------------------")

print(os.path.dirname(tmp))

print(os.path.basename(tmp))

print(os.path.split(tmp))

結果是:

f:\workspace\gitspace

git操作步驟.txt

('f:\\workspace\\gitspace', 'git操作步驟.txt')

os.path.getsize(path)將返回path引數中檔案的位元組數。

呼叫os.listdir(path)將返回檔名字串的列表,包含path引數中的每個檔案

os.path.exists(path)判斷指定的檔案或者資料夾是否存在

os.path.isfile(path)如果path引數存在,並且是乙個檔案,則返回true,否則返回false

os.path.isdir(path)path引數存在,並且是否是乙個資料夾,將返回true,否則返回false

shelve模組:讀寫檔案的3個步驟:

呼叫open()函式,返回乙個file物件

呼叫file物件的read()或者write()方法

呼叫file物件的close()方法,關閉該檔案

read()方法返回整個檔案的內容為乙個字串。

readlines()方法,將文字的每一行讀取為乙個字串,然後返回乙個列表。

問題:

file_path = os.getcwd()

file_conf = file_path + '/1.conf'

f = open(file_conf, 'r+')

# print(f.read())

print("--------------------")

print(f.readlines())

f.close()

如果f.read()和f.readlines()同時使用,readlins()是沒有返回值的,只有注釋掉上面的才會有返回值

寫入檔案, w 或者a模式

w模式是模組,a模式是追加,沒有的檔名會自動建立。

shelve模組儲存變數:可以在程式中新增儲存和開啟的功能。shelve開啟的值不需要用讀模式或者寫模式,因為它開啟後即能讀也能寫。檔案中儲存的值有keys()和values()方法

用pprint.pfromat()函式儲存變數:儲存的格式和pprint.pprint()返回同樣文字字串,但是不列印,在語法是正確的python**,儲存在乙個變數中,存入python檔案,以便將來使用。

import pprint

import os

cats = [, ]

pprint.pprint(cats)

tmp = pprint.pformat(cats)

# print(tmp)

dir_path = os.getcwd() + '/'

fileobj = open(dir_path+ 'mycats.py', 'w')

fileobj.write('cats =' + tmp + '\n')

fileobj.close()

import mycats

print(mycats.cats)

print(mycats.cats[0])

結果:[, ]

[, ]

對於大多數的應用,利用shelve模組來儲存資料,是將變數儲存到檔案的最佳方式。只有基本資料累心個,如整型int,浮點型,字串,列表和字典,可以作為簡單文字寫入檔案,例如,file物件就不能夠編碼為文字。

總結:檔案被組織在資料夾(也稱為目錄), 路徑描述了乙個檔案的位置。

執行在計算機上的每個程式都有乙個當前工作目錄,它讓你相對於當前的位置指定檔案路徑,而非總是需要完成的路徑(也稱為絕對路徑)。

os.path模組中包含許多函式,用於操作檔案路徑。

第八章 指標 第八章 指標

1 什麼是位址 include using namespace std int main 11 在堆中建立對像 我們既然可以在堆中儲存變數,那麼也就可以儲存對像,我們可以將對像儲存堆中,然後通過指標來訪問它 include using namespace std class human 14 在建構...

python學習 第八章習題

8 6 城市名 編寫乙個名為 city country 的函式,它接受城市的名稱及其所屬的 國家。這個函式應返回乙個格式類似於下面這樣的字串 santiago,chile 至少使用三個城市 國家對呼叫這個函式,並列印它返回的值 8 7 編寫乙個名為 make album 的函式,它建立乙個描述 的字...

第八章 檔案操作

第八章 檔案操作 1 檔案 基於檔案描述符的i o操作是通過檔案描述符對乙個檔案執行i o操作 檔案描述符 用於描述被開啟檔案的索引值 1 檔案型別 普通檔案 文字和二進位制 目錄檔案 存放檔名及其相關資訊的檔案,是核心組織檔案系統的基本節點 裝置檔案 外部裝置看作是特殊的檔案,包括塊裝置檔案和字元...