day-008--補(bǔ)充知識(shí)點(diǎn)1

補(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: 一般使用utf8
  • errors: 報(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)傳送門

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末屋彪,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子绒尊,更是在濱河造成了極大的恐慌畜挥,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,635評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件垒酬,死亡現(xiàn)場(chǎng)離奇詭異砰嘁,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)勘究,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門矮湘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人口糕,你說(shuō)我怎么就攤上這事缅阳。” “怎么了景描?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,083評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵十办,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我超棺,道長(zhǎng)向族,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,640評(píng)論 1 296
  • 正文 為了忘掉前任棠绘,我火速辦了婚禮件相,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘氧苍。我一直安慰自己夜矗,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布让虐。 她就那樣靜靜地躺著紊撕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赡突。 梳的紋絲不亂的頭發(fā)上对扶,一...
    開(kāi)封第一講書(shū)人閱讀 52,262評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音麸俘,去河邊找鬼辩稽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛从媚,可吹牛的內(nèi)容都是我干的逞泄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼喷众!你這毒婦竟也來(lái)了各谚?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,736評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤到千,失蹤者是張志新(化名)和其女友劉穎昌渤,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體憔四,經(jīng)...
    沈念sama閱讀 46,280評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡膀息,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了了赵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片潜支。...
    茶點(diǎn)故事閱讀 40,503評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖柿汛,靈堂內(nèi)的尸體忽然破棺而出冗酿,到底是詐尸還是另有隱情,我是刑警寧澤络断,帶...
    沈念sama閱讀 36,185評(píng)論 5 350
  • 正文 年R本政府宣布裁替,位于F島的核電站,受9級(jí)特大地震影響貌笨,放射性物質(zhì)發(fā)生泄漏弱判。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評(píng)論 3 333
  • 文/蒙蒙 一锥惋、第九天 我趴在偏房一處隱蔽的房頂上張望裕循。 院中可真熱鬧,春花似錦净刮、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,340評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至怎虫,卻和暖如春暑认,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背大审。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,460評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工蘸际, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人徒扶。 一個(gè)月前我還...
    沈念sama閱讀 48,909評(píng)論 3 376
  • 正文 我出身青樓粮彤,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子导坟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 寫(xiě)在前面的話 代碼中的# > 表示的是輸出結(jié)果 輸入 使用input()函數(shù) 用法 注意input函數(shù)輸出的均是字...
    FlyingLittlePG閱讀 2,771評(píng)論 0 8
  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 13,835評(píng)論 0 38
  • 一屿良、基礎(chǔ)知識(shí):1、JVM惫周、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī)...
    殺小賊閱讀 2,388評(píng)論 0 4
  • 一尘惧、Python簡(jiǎn)介和環(huán)境搭建以及pip的安裝 4課時(shí)實(shí)驗(yàn)課主要內(nèi)容 【Python簡(jiǎn)介】: Python 是一個(gè)...
    _小老虎_閱讀 5,748評(píng)論 0 10
  • # Python關(guān)鍵字 部分單詞沒(méi)有分類整理按照順序整理的 ``` statements語(yǔ)句 print輸出 qu...
    ZhouLang閱讀 594評(píng)論 0 0