將單個檔案和路徑上的資料夾名稱的字串傳遞給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 檔案型別 普通檔案 文字和二進位制 目錄檔案 存放檔名及其相關資訊的檔案,是核心組織檔案系統的基本節點 裝置檔案 外部裝置看作是特殊的檔案,包括塊裝置檔案和字元...