補(bǔ)充知識(shí)點(diǎn)
感覺(jué)大神的漏了點(diǎn)其他基礎(chǔ)知識(shí)晌姚,我這邊補(bǔ)上 主要包括以下幾個(gè):
- 迭代器與生成器
- 輸入和輸出
- File(文件) 方法
- OS 文件/目錄方法
1.迭代器和生成器
1.1迭代器
迭代是Python最強(qiáng)大的功能之一粤剧,是訪問(wèn)集合元素的一種方式。
迭代器是一個(gè)可以記住遍歷的位置的對(duì)象挥唠。
迭代器對(duì)象從集合的第一個(gè)元素開(kāi)始訪問(wèn)抵恋,直到所有的元素被訪問(wèn)完結(jié)束。迭代器只能往前不會(huì)后退宝磨。
迭代器有兩個(gè)基本的方法:iter() 和 next()弧关。
字符串,列表或元組對(duì)象都可用于創(chuàng)建迭代器:
就是把集合的東東塞到容器里去懊烤,然后再去處理
這種形式:
list=[1,2,3,4]
it = iter(list) # 創(chuàng)建迭代器對(duì)象
print (next(it)) # 輸出迭代器的下一個(gè)元素
print (next(it))
結(jié)果:
1
2
如果用的字典的話梯醒,輸出的是
key
值
把一個(gè)類作為一個(gè)迭代器使用需要在類中實(shí)現(xiàn)兩個(gè)方法
__iter__()
與__next__()
。然后需要防止無(wú)限循環(huán)腌紧,需要用StopIteration
來(lái)實(shí)現(xiàn)退出機(jī)制
看實(shí)例:
dict1 = {1: 2, 'aaa': 'bbb', 123: '123', '123': 123}
it = iter(dict1)
print(dict1)
print(next(it))
for x in it:
dict1[x] = 'iter'
print(dict1)
class MyIter:
def __iter__(self):
self.a = 1
return self
def __next__(self):
if self.a >= 5:
raise StopIteration
else:
x = self.a
self.a += 1
return x
my_iter = MyIter()
mi = iter(my_iter)
for xx in mi:
print(xx)
結(jié)果:
{1: 2, 'aaa': 'bbb', 123: '123', '123': 123}
1
{1: 2, 'aaa': 'iter', 123: 'iter', '123': 'iter'}
1
2
3
4
第三行輸出少了一個(gè)'
iter'
茸习,是因?yàn)榍懊鎴?zhí)行了netx()
,下面for in
的時(shí)候,少一個(gè)
1.2 生成器
在 Python 中壁肋,使用了
yield
的函數(shù)被稱為生成器(generator)号胚。
跟普通函數(shù)不同的是,生成器是一個(gè)返回迭代器的函數(shù)浸遗,只能用于迭代操作猫胁,更簡(jiǎn)單點(diǎn)理解生成器就是一個(gè)迭代器。
在調(diào)用生成器運(yùn)行的過(guò)程中跛锌,每次遇到yield
時(shí)函數(shù)會(huì)暫停并保存當(dāng)前所有的運(yùn)行信息弃秆,返回yield
的值, 并在下一次執(zhí)行next()
方法時(shí)從當(dāng)前位置繼續(xù)運(yùn)行媒峡。
調(diào)用一個(gè)生成器函數(shù),返回的是一個(gè)迭代器對(duì)象碟联。
這個(gè)函數(shù)的好處就是執(zhí)行一次next()
才會(huì)運(yùn)行一次抗愁,對(duì)于超級(jí)大的迭代器,降低了計(jì)算量
以下實(shí)例使用 yield 實(shí)現(xiàn)斐波那契數(shù)列:
def fibonacci(n): # 生成器函數(shù) - 斐波那契
a, b, counter = 0, 1, 0
while True:
if (counter > n):
return
yield a
a, b = b, a + b
counter += 1
f = fibonacci(10) # f 是一個(gè)迭代器衡查,由生成器返回生成
while True:
try:
print(next(f), end=" ")
except StopIteration:
sys.exit()
結(jié)果:
0 1 1 2 3 5 8 13 21 34 55
這兩個(gè)知識(shí)點(diǎn)先學(xué)著
2.輸入和輸出
2.1輸出格式化
Python兩種輸出值的方式: 表達(dá)式語(yǔ)句和
print()
函數(shù)瘩欺。
第三種方式是使用文件對(duì)象的
write()
方法,標(biāo)準(zhǔn)輸出文件可以用sys.stdout
引用拌牲。
如果你希望輸出的形式更加多樣俱饿,可以使用
str.format()
函數(shù)來(lái)格式化輸出值。
如果你希望將輸出的值轉(zhuǎn)成字符串塌忽,可以使用
repr()
或str()
函數(shù)來(lái)實(shí)現(xiàn)拍埠。
str()
: 函數(shù)返回一個(gè)用戶易讀的表達(dá)形式。repr()
: 產(chǎn)生一個(gè)解釋器易讀的表達(dá)形式砚婆。
主要是怎么用這些函數(shù)了輸出械拍,看例子吧:
str1 = 'hello world'
print(str(str1))
print(repr(str1))
print(str(1/7))
print(repr(1/7))
print(str(100*100))
print(repr((100*100)))
print(str('aaaa\n'))
print(repr('aaaa\n'))
for x in range(5):
print(repr(x).rjust(2),repr(x*x).rjust(3),repr(x*x*x).rjust(4))
print('###########################')
for x in range(5):
print('{0:2d} {1:3d} {2:4d}'.format(x,x*x,x*x*x))
print('123'.zfill(10))
print('{!a}'.format('\n'))
結(jié)果:
hello world
'hello world'
0.14285714285714285
0.14285714285714285
10000
10000
aaaa
'aaaa\n'
0 0 0
1 1 1
2 4 8
3 9 27
4 16 64
###########################
0 0 0
1 1 1
2 4 8
3 9 27
4 16 64
0000000123
'\n'
就是會(huì)讓輸出好看點(diǎn),強(qiáng)迫癥福音
2.2 %
形式的格式輸出 我也用的比較習(xí)慣装盯。坷虑。。
就是這個(gè)樣子的:
import math
print('常量 PI 的值近似為:%5.3f埂奈。' % math.pi)
結(jié)果:
常量 PI 的值近似為:3.14迄损。
2.3 鍵盤輸入和格式輸入
使用
input()
來(lái)通過(guò)鍵盤輸入,把結(jié)果用str()
或者int()
轉(zhuǎn)下就是格式輸入
就這樣:
print(int(input('請(qǐng)快快輸入一個(gè)整數(shù)')))
nInput = input('test int')
if nInput.isnumeric():
print('you input a num')
else:
print('you are bad man')
nInput = input('test int')
if nInput.isnumeric():
print('you input a num')
else:
print('you are bad man')
結(jié)果:
請(qǐng)快快輸入一個(gè)整數(shù)111
111
test int111
you input a num
test int1a1
you are bad man
就這么簡(jiǎn)單
2.4 讀寫(xiě)文件
通過(guò)open()來(lái)實(shí)現(xiàn)账磺,就是這樣子,用完就close芹敌,養(yǎng)成好習(xí)慣
fd = open(filename,mode)
fd.close()
filename 是個(gè)找的到的地方,不寫(xiě)路徑就在當(dāng)前執(zhí)行目錄垮抗,mode 是模式別較多氏捞,列個(gè)表:
模式 | 描述 |
---|---|
r |
以只讀方式打開(kāi)文件。文件的指針將會(huì)放在文件的開(kāi)頭冒版。這是默認(rèn)模式液茎。 |
rb |
以二進(jìn)制格式打開(kāi)一個(gè)文件用于只讀。文件指針將會(huì)放在文件的開(kāi)頭辞嗡。 |
r+ |
打開(kāi)一個(gè)文件用于讀寫(xiě)捆等。文件指針將會(huì)放在文件的開(kāi)頭。 |
rb |
以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)续室。文件指針將會(huì)放在文件的開(kāi)頭栋烤。 |
w |
打開(kāi)一個(gè)文件只用于寫(xiě)入。如果該文件已存在則打開(kāi)文件挺狰,并從開(kāi)頭開(kāi)始編輯明郭,即原有內(nèi)容會(huì)被刪除买窟。如果該文件不存在,創(chuàng)建新文件达址。 |
wb |
以二進(jìn)制格式打開(kāi)一個(gè)文件只用于寫(xiě)入蔑祟。如果該文件已存在則打開(kāi)文件趁耗,并從開(kāi)頭開(kāi)始編輯沉唠,即原有內(nèi)容會(huì)被刪除。如果該文件不存在苛败,創(chuàng)建新文件满葛。 |
w+ |
打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則打開(kāi)文件罢屈,并從開(kāi)頭開(kāi)始編輯嘀韧,即原有內(nèi)容會(huì)被刪除。如果該文件不存在缠捌,創(chuàng)建新文件锄贷。 |
wb+ |
以二進(jìn)制格式打開(kāi)一個(gè)文件用于讀寫(xiě)。如果該文件已存在則打開(kāi)文件曼月,并從開(kāi)頭開(kāi)始編輯谊却,即原有內(nèi)容會(huì)被刪除。如果該文件不存在哑芹,創(chuàng)建新文件炎辨。 |
a |
打開(kāi)一個(gè)文件用于追加。如果該文件已存在聪姿,文件指針將會(huì)放在文件的結(jié)尾碴萧。也就是說(shuō),新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后末购。如果該文件不存在破喻,創(chuàng)建新文件進(jìn)行寫(xiě)入。 |
ab |
以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加盟榴。如果該文件已存在曹质,文件指針將會(huì)放在文件的結(jié)尾。也就是說(shuō)曹货,新的內(nèi)容將會(huì)被寫(xiě)入到已有內(nèi)容之后咆繁。如果該文件不存在,創(chuàng)建新文件進(jìn)行寫(xiě)入顶籽。 |
a+ |
打開(kāi)一個(gè)文件用于讀寫(xiě)玩般。如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾礼饱。文件打開(kāi)時(shí)會(huì)是追加模式坏为。如果該文件不存在究驴,創(chuàng)建新文件用于讀寫(xiě)。 |
ab+ |
以二進(jìn)制格式打開(kāi)一個(gè)文件用于追加匀伏。如果該文件已存在洒忧,文件指針將會(huì)放在文件的結(jié)尾。如果該文件不存在够颠,創(chuàng)建新文件用于讀寫(xiě)熙侍。 |
下圖很好的總結(jié)了這幾種模式,借用下
image.png
模式 | r | r+ | w | w+ | a | a+ |
---|---|---|---|---|---|---|
讀 | + | + | + | + | ||
寫(xiě) | + | + | + | + | + | |
創(chuàng)建 | + | + | + | + | ||
覆蓋 | + | + | ||||
指針在開(kāi)始 | + | + | + | + | ||
指針在結(jié)尾 | + | + |
文件的操作方法主要又一下幾個(gè)
f.read()
為了讀取一個(gè)文件的內(nèi)容,調(diào)用f.read(size)
, 這將讀取一定數(shù)目的數(shù)據(jù), 然后作為字符串或字節(jié)對(duì)象返回履磨。size
是一個(gè)可選的數(shù)字類型的參數(shù)蛉抓。 當(dāng)size
被忽略了或者為負(fù), 那么該文件的所有內(nèi)容都將被讀取并且返回。f.readline()
會(huì)從文件中讀取單獨(dú)的一行剃诅。換行符為'\n'
巷送。f.readline()
如果返回一個(gè)空字符串, 說(shuō)明已經(jīng)已經(jīng)讀取到最后一行。f.readlines()
將返回該文件中包含的所有行矛辕。如果設(shè)置可選參數(shù)sizehint
, 則讀取指定長(zhǎng)度的字節(jié), 并且將這些字節(jié)按行分割笑跛。f.write(string)
將string
寫(xiě)入到文件中, 然后返回寫(xiě)入的字符數(shù)。f.tell()
返回文件對(duì)象當(dāng)前所處的位置, 它是從文件開(kāi)頭開(kāi)始算起的字節(jié)數(shù)聊品。f.seek()
如果要改變文件當(dāng)前的位置, 可以使用f.seek(offset, from_what)
函數(shù)飞蹂。from_what
的值, 如果是 0 表示開(kāi)頭, 如果是 1 表示當(dāng)前位置, 2 表示文件的結(jié)尾,例如:1.seek(x,0)
: 從起始位置即文件首行首字符開(kāi)始移動(dòng) x 個(gè)字符;2.seek(x,1)
: 表示從當(dāng)前位置往后移動(dòng)x個(gè)字符;3:seek(-x,2)
:表示從文件的結(jié)尾往前移動(dòng)x個(gè)字符
其實(shí)跟其他語(yǔ)言在文件操作上沒(méi)太大區(qū)別
下面就搞個(gè)大的實(shí)例:
fd = open('test_file.txt','r')
print('fd.read(2):', fd.read(2))
print('fd.read():', fd.read())
print('fd.readline():', fd.readline()) # 上面的read已經(jīng)把指針指向了最后杨刨,所以讀不出來(lái)了晤柄,要么seek到開(kāi)始,要么close 后重新來(lái)
fd.seek(0,0)
print('fd.readline() after :fd.seek(0,0)', fd.readline())
print('fd.readlines():', fd.readlines()) # 輸出其實(shí)是個(gè)列表的形式
print('fd.tell():', fd.tell())
fd.close()
fd = open('test_file.txt', 'w+')
fd.write('test write')
print('fd.read():', fd.read()) # 一樣會(huì)跑到最后去
fd.seek(0,0)
print('fd.readline() after :fd.seek(0,0)', fd.readline())
fd.close()
結(jié)果:
fd.read(2): te
fd.read(): st write
fd.readline():
fd.readline() after :fd.seek(0,0) test write
fd.readlines(): []
fd.tell(): 10
fd.read():
fd.readline() after :fd.seek(0,0) test write
其實(shí)挺簡(jiǎn)單妖胀,就是不要忘了芥颈,用完
close
,還有文件指針的位置赚抡,用readline
挺好的
2.5 pickle 模塊
python的pickle模塊實(shí)現(xiàn)了基本的數(shù)據(jù)序列和反序列化爬坑。
通過(guò)pickle模塊的序列化操作我們能夠?qū)⒊绦蛑羞\(yùn)行的對(duì)象信息保存到文件中去,永久存儲(chǔ)涂臣。
通過(guò)pickle模塊的反序列化操作盾计,我們能夠從文件中創(chuàng)建上一次程序保存的對(duì)象。
基本接口:
- pickle.dump(obj, file, [,protocol]) 有了 pickle 這個(gè)對(duì)象, 就能對(duì) file 以讀取的形式打開(kāi):
- x = pickle.load(file)
import pprint, pickle
# 使用pickle模塊將數(shù)據(jù)對(duì)象保存到文件
data1 = {'a': [1, 2.0, 3, 4+6j],
'b': ('string', u'Unicode string'),
'c': None}
selfref_list = [1, 2, 3]
selfref_list.append(selfref_list)
output = open('data.pkl', 'wb')
# Pickle dictionary using protocol 0.
pickle.dump(data1, output)
# Pickle the list using the highest protocol available.
pickle.dump(selfref_list, output, -1)
output.close()
#使用pickle模塊從文件中重構(gòu)python對(duì)象
pkl_file = open('data.pkl', 'rb')
data1 = pickle.load(pkl_file)
pprint.pprint(data1)
print(data1)
data2 = pickle.load(pkl_file)
pprint.pprint(data2)
print(data2)
pkl_file.close()
結(jié)果:
{'a': [1, 2.0, 3, (4+6j)], 'b': ('string', 'Unicode string'), 'c': None}
{'a': [1, 2.0, 3, (4+6j)], 'b': ('string', 'Unicode string'), 'c': None}
[1, 2, 3, <Recursion on list with id=2738461650504>]
[1, 2, 3, [...]]
有點(diǎn)像是加密了赁遗,保存成特殊的文件署辉,然后這個(gè)
pprint
其實(shí)可以多打出來(lái)一些信息
3. File(文件) 方法
其實(shí)和上面的一樣的,有點(diǎn)重復(fù)了岩四,這個(gè)稍微詳細(xì)點(diǎn)介紹
open()
,和所有的file
的函數(shù)
open的原型:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
參數(shù)說(shuō)明:
file
: 必需哭尝,文件路徑(相對(duì)或者絕對(duì)路徑)。mode
: 可選剖煌,文件打開(kāi)模式buffering
: 設(shè)置緩沖encoding
: 一般使用utf8errors
: 報(bào)錯(cuò)級(jí)別newline
: 區(qū)分換行符closefd
: 傳入的file參數(shù)類型opener
:
一般我們用兩個(gè)材鹦。逝淹。。
序號(hào) | 方法及描述 |
---|---|
1 | file.close()關(guān)閉文件桶唐。關(guān)閉后文件不能再進(jìn)行讀寫(xiě)操作栅葡。 |
2 | file.flush()刷新文件內(nèi)部緩沖,直接把內(nèi)部緩沖區(qū)的數(shù)據(jù)立刻寫(xiě)入文件, 而不是被動(dòng)的等待輸出緩沖區(qū)寫(xiě)入尤泽。 |
3 | file.fileno()返回一個(gè)整型的文件描述符(file descriptor FD 整型), 可以用在如os模塊的read方法等一些底層操作上欣簇。 |
4 | file.isatty()如果文件連接到一個(gè)終端設(shè)備返回 True,否則返回 False安吁。 |
5 | file.next() Python 3 中的 File 對(duì)象不支持 next() 方法醉蚁。 返回文件下一行。 |
6 | file.read([size])從文件讀取指定的字節(jié)數(shù)鬼店,如果未給定或?yàn)樨?fù)則讀取所有。 |
7 | file.readline([size])讀取整行黔龟,包括 "\n" 字符妇智。 |
8 | file.readlines([sizeint])讀取所有行并返回列表,若給定sizeint>0氏身,返回總和大約為sizeint字節(jié)的行, 實(shí)際讀取值可能比 sizeint 較大, 因?yàn)樾枰畛渚彌_區(qū)巍棱。 |
9 | file.seek(offset[, whence])設(shè)置文件當(dāng)前位置 |
10 | file.tell()返回文件當(dāng)前位置。 |
11 | file.truncate([size])從文件的首行首字符開(kāi)始截?cái)嗟靶溃財(cái)辔募?size 個(gè)字符航徙,無(wú) size 表示從當(dāng)前位置截?cái)啵唤財(cái)嘀蠛竺娴乃凶址粍h除陷虎,其中 Widnows 系統(tǒng)下的換行代表2個(gè)字符大小到踏。 |
12 | file.write(str)將字符串寫(xiě)入文件,返回的是寫(xiě)入的字符長(zhǎng)度尚猿。 |
13 | file.writelines(sequence)向文件寫(xiě)入一個(gè)序列字符串列表窝稿,如果需要換行則要自己加入每行的換行符。 |
并沒(méi)有實(shí)例凿掂。伴榔。。
4. OS 文件/目錄方法
主要記錄下
os
這個(gè)模塊里都又啥子庄萎,上表格踪少,也沒(méi)有實(shí)例,哈哈
其實(shí)和linux 命令行很多一一樣的糠涛,有點(diǎn)像system高級(jí)版
序號(hào) | 方法及描述 |
---|---|
1 | os.access(path, mode) 檢驗(yàn)權(quán)限模式 |
2 | os.chdir(path)改變當(dāng)前工作目錄 |
3 | os.chflags(path, flags)設(shè)置路徑的標(biāo)記為數(shù)字標(biāo)記援奢。 |
4 | os.chmod(path, mode)更改權(quán)限 |
5 | os.chown(path, uid, gid)更改文件所有者 |
6 | os.chroot(path)改變當(dāng)前進(jìn)程的根目錄 |
7 | os.close(fd)關(guān)閉文件描述符 fd |
8 | os.closerange(fd_low, fd_high)關(guān)閉所有文件描述符,從 fd_low (包含) 到 fd_high (不包含), 錯(cuò)誤會(huì)忽略 |
9 | os.dup(fd)復(fù)制文件描述符 fd |
10 | os.dup2(fd, fd2)將一個(gè)文件描述符 fd 復(fù)制到另一個(gè) fd2 |
11 | os.fchdir(fd)通過(guò)文件描述符改變當(dāng)前工作目錄 |
12 | os.fchmod(fd, mode)改變一個(gè)文件的訪問(wèn)權(quán)限脱羡,該文件由參數(shù)fd指定萝究,參數(shù)mode是Unix下的文件訪問(wèn)權(quán)限免都。 |
13 | os.fchown(fd, uid, gid)修改一個(gè)文件的所有權(quán),這個(gè)函數(shù)修改一個(gè)文件的用戶ID和用戶組ID帆竹,該文件由文件描述符fd指定绕娘。 |
14 | os.fdatasync(fd)強(qiáng)制將文件寫(xiě)入磁盤,該文件由文件描述符fd指定栽连,但是不強(qiáng)制更新文件的狀態(tài)信息险领。 |
15 | os.fdopen(fd[, mode[, bufsize]])通過(guò)文件描述符 fd 創(chuàng)建一個(gè)文件對(duì)象,并返回這個(gè)文件對(duì)象 |
16 | os.fpathconf(fd, name)返回一個(gè)打開(kāi)的文件的系統(tǒng)配置信息秒紧。name為檢索的系統(tǒng)配置的值绢陌,它也許是一個(gè)定義系統(tǒng)值的字符串,這些名字在很多標(biāo)準(zhǔn)中指定(POSIX.1, Unix 95, Unix 98, 和其它)熔恢。 |
17 | os.fstat(fd)返回文件描述符fd的狀態(tài)脐湾,像stat()。 |
18 | os.fstatvfs(fd)返回包含文件描述符fd的文件的文件系統(tǒng)的信息叙淌,Python 3.3 相等于 statvfs()秤掌。 |
19 | os.fsync(fd)強(qiáng)制將文件描述符為fd的文件寫(xiě)入硬盤。 |
20 | os.ftruncate(fd, length)裁剪文件描述符fd對(duì)應(yīng)的文件, 所以它最大不能超過(guò)文件大小鹰霍。 |
21 | os.getcwd()返回當(dāng)前工作目錄 |
22 | os.getcwdu()返回一個(gè)當(dāng)前工作目錄的Unicode對(duì)象 |
23 | os.isatty(fd)如果文件描述符fd是打開(kāi)的闻鉴,同時(shí)與tty(-like)設(shè)備相連,則返回true, 否則False茂洒。 |
24 | os.lchflags(path, flags)設(shè)置路徑的標(biāo)記為數(shù)字標(biāo)記孟岛,類似 chflags()剖淀,但是沒(méi)有軟鏈接 |
25 | os.lchmod(path, mode)修改連接文件權(quán)限 |
26 | os.lchown(path, uid, gid)更改文件所有者曲稼,類似 chown,但是不追蹤鏈接糊识。 |
27 | os.link(src, dst)創(chuàng)建硬鏈接玷氏,名為參數(shù) dst堵未,指向參數(shù) src |
28 | os.listdir(path)返回path指定的文件夾包含的文件或文件夾的名字的列表。 |
29 | os.lseek(fd, pos, how)設(shè)置文件描述符 fd當(dāng)前位置為pos, how方式修改: SEEK_SET 或者 0 設(shè)置從文件開(kāi)始的計(jì)算的pos; SEEK_CUR或者 1 則從當(dāng)前位置計(jì)算; os.SEEK_END或者2則從文件尾部開(kāi)始. 在unix盏触,Windows中有效 |
30 | os.lstat(path)像stat(),但是沒(méi)有軟鏈接 |
31 | os.major(device)從原始的設(shè)備號(hào)中提取設(shè)備major號(hào)碼 (使用stat中的st_dev或者st_rdev field)渗蟹。 |
32 | os.makedev(major, minor)以major和minor設(shè)備號(hào)組成一個(gè)原始設(shè)備號(hào) |
33 | os.makedirs(path[, mode])遞歸文件夾創(chuàng)建函數(shù)。像mkdir(), 但創(chuàng)建的所有intermediate-level文件夾需要包含子文件夾赞辩。 |
34 | os.minor(device)從原始的設(shè)備號(hào)中提取設(shè)備minor號(hào)碼 (使用stat中的st_dev或者st_rdev field )雌芽。 |
35 | os.mkdir(path[, mode])以數(shù)字mode的mode創(chuàng)建一個(gè)名為path的文件夾.默認(rèn)的 mode 是 0777 (八進(jìn)制)。 |
36 | os.mkfifo(path[, mode])創(chuàng)建命名管道辨嗽,mode 為數(shù)字世落,默認(rèn)為 0666 (八進(jìn)制) |
37 | os.mknod(filename[, mode=0600, device])創(chuàng)建一個(gè)名為filename文件系統(tǒng)節(jié)點(diǎn)(文件,設(shè)備特別文件或者命名pipe)糟需。 |
38 | os.open(file, flags[, mode])打開(kāi)一個(gè)文件屉佳,并且設(shè)置需要的打開(kāi)選項(xiàng)谷朝,mode參數(shù)是可選的 |
39 | os.openpty()打開(kāi)一個(gè)新的偽終端對(duì)。返回 pty 和 tty的文件描述符武花。 |
40 | os.pathconf(path, name)返回相關(guān)文件的系統(tǒng)配置信息圆凰。 |
41 | os.pipe()創(chuàng)建一個(gè)管道. 返回一對(duì)文件描述符(r, w) 分別為讀和寫(xiě) |
42 | os.popen(command[, mode[, bufsize]])從一個(gè) command 打開(kāi)一個(gè)管道 |
43 | os.read(fd, n)從文件描述符 fd 中讀取最多 n 個(gè)字節(jié),返回包含讀取字節(jié)的字符串体箕,文件描述符 fd對(duì)應(yīng)文件已達(dá)到結(jié)尾, 返回一個(gè)空字符串专钉。 |
44 | os.readlink(path)返回軟鏈接所指向的文件 |
45 | os.remove(path)刪除路徑為path的文件。如果path 是一個(gè)文件夾累铅,將拋出OSError; 查看下面的rmdir()刪除一個(gè) directory跃须。 |
46 | os.removedirs(path)遞歸刪除目錄。 |
47 | os.rename(src, dst)重命名文件或目錄娃兽,從 src 到 dst |
48 | os.renames(old, new)遞歸地對(duì)目錄進(jìn)行更名菇民,也可以對(duì)文件進(jìn)行更名。 |
49 | os.rmdir(path)刪除path指定的空目錄换薄,如果目錄非空玉雾,則拋出一個(gè)OSError異常。 |
50 | os.stat(path)獲取path指定的路徑的信息轻要,功能等同于C API中的stat()系統(tǒng)調(diào)用。 |
51 | os.stat_float_times([newvalue])決定stat_result是否以float對(duì)象顯示時(shí)間戳 |
52 | os.statvfs(path)獲取指定路徑的文件系統(tǒng)統(tǒng)計(jì)信息 |
53 | os.symlink(src, dst)創(chuàng)建一個(gè)軟鏈接 |
54 | os.tcgetpgrp(fd)返回與終端fd(一個(gè)由os.open()返回的打開(kāi)的文件描述符)關(guān)聯(lián)的進(jìn)程組 |
55 | os.tcsetpgrp(fd, pg)設(shè)置與終端fd(一個(gè)由os.open()返回的打開(kāi)的文件描述符)關(guān)聯(lián)的進(jìn)程組為pg垦缅。 |
56 | os.tempnam([dir[, prefix]])Python3 中已刪除冲泥。返回唯一的路徑名用于創(chuàng)建臨時(shí)文件。 |
57 | os.tmpfile()Python3 中已刪除壁涎。返回一個(gè)打開(kāi)的模式為(w+b)的文件對(duì)象 .這文件對(duì)象沒(méi)有文件夾入口凡恍,沒(méi)有文件描述符,將會(huì)自動(dòng)刪除怔球。 |
58 | os.tmpnam()Python3 中已刪除嚼酝。為創(chuàng)建一個(gè)臨時(shí)文件返回一個(gè)唯一的路徑 |
59 | os.ttyname(fd)返回一個(gè)字符串,它表示與文件描述符fd 關(guān)聯(lián)的終端設(shè)備竟坛。如果fd 沒(méi)有與終端設(shè)備關(guān)聯(lián)闽巩,則引發(fā)一個(gè)異常。 |
60 | os.unlink(path)刪除文件路徑 |
61 | os.utime(path, times)返回指定的path文件的訪問(wèn)和修改的時(shí)間担汤。 |
62 | os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])輸出在文件夾中的文件名通過(guò)在樹(shù)中游走涎跨,向上或者向下。 |
63 | os.write(fd, str)寫(xiě)入字符串到文件描述符 fd中. 返回實(shí)際寫(xiě)入的字符串長(zhǎng)度 |
64 | os.path 模塊獲取文件的屬性信息崭歧。 |
好多隅很。。率碾。
文集傳送門 學(xué)習(xí)python100天
整個(gè)學(xué)習(xí)python100天的目錄傳送門
無(wú)敵分割線
再最后面附上大神的鏈接這篇跟大神無(wú)關(guān)叔营,沒(méi)有對(duì)應(yīng)傳送門