python基礎(chǔ)知識(shí)(5)

python 文件I/O

  • 輸出
print '內(nèi)容'
  • 輸入
    1、raw_input()
    //從標(biāo)準(zhǔn)輸入讀取一個(gè)行,并返回一個(gè)字符串(去掉結(jié)尾的換行符),若輸入為python表達(dá)式,則會(huì)返回表達(dá)式原式而不是運(yùn)算結(jié)果。
s=raw_input('Enter a number:')

2、input()
// input 可以接收一個(gè)Python表達(dá)式作為輸入,并將運(yùn)算結(jié)果返回。

s=input('Enter something:')
  • 打開文件
file object = open(file_name [, access_mode][, buffering])

    file_name:file_name變量是一個(gè)包含了你要訪問的文件名稱的字符串值。
    access_mode:access_mode決定了打開文件的模式:只讀,寫入,追加等。所有可取值見如下的完全列表。這個(gè)參數(shù)是非強(qiáng)制的,默認(rèn)文件訪問模式為只讀(r)。
    buffering:如果buffering的值被設(shè)為0,就不會(huì)有寄存。如果buffering的值取1,訪問文件時(shí)會(huì)寄存行。如果將buffering的值設(shè)為大于1的整數(shù),表明了這就是寄存區(qū)的緩沖大小。如果取負(fù)值,寄存區(qū)的緩沖大小則為系統(tǒng)默認(rèn)。
  • file 對(duì)象屬性
  • file 對(duì)象方法
    1、close()
    // File 對(duì)象的 close()方法刷新緩沖區(qū)里任何還沒寫入的信息,并關(guān)閉該文件,這之后便不能再進(jìn)行寫入;當(dāng)一個(gè)文件對(duì)象的引用被重新指定給另一個(gè)文件時(shí),Python 會(huì)關(guān)閉之前的文件。用 close()方法關(guān)閉文件是一個(gè)很好的習(xí)慣。
文件名.close()

2、write()
//可將任何字符串寫入一個(gè)打開的文件。需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字;write()方法不會(huì)在字符串的結(jié)尾添加換行符('\n')。

fo=open('文件名','w')
fo.write(需寫入的字符串)
fo.close()

3、read()
//從一個(gè)打開的文件中讀取一個(gè)字符串。需要重點(diǎn)注意的是,Python字符串可以是二進(jìn)制數(shù)據(jù),而不是僅僅是文字。在這里,被傳遞的參數(shù)是要從已打開文件中讀取的字節(jié)計(jì)數(shù)。該方法從文件的開頭開始讀入,如果沒有傳入count,它會(huì)嘗試盡可能多地讀取更多的內(nèi)容,很可能是直到文件的末尾。

文件名.read([需要讀取的字節(jié)數(shù)])
  • 文件定位
    // tell()方法告訴你文件內(nèi)的當(dāng)前位置, 換句話說(shuō),下一次的讀寫會(huì)發(fā)生在文件開頭這么多字節(jié)之后。
    seek(offset [,from])方法改變當(dāng)前文件的位置。Offset變量表示要移動(dòng)的字節(jié)數(shù)。From變量指定開始移動(dòng)字節(jié)的參考位置。
    如果from被設(shè)為0,這意味著將文件的開頭作為移動(dòng)字節(jié)的參考位置。如果設(shè)為1,則使用當(dāng)前的位置作為參考位置。如果它被設(shè)為2,那么該文件的末尾將作為參考位置。
文件名.tell():告訴文件內(nèi)的當(dāng)前位置
文件名.seek(要移動(dòng)的字節(jié)數(shù),開始移動(dòng)字節(jié)的參考位置)
  • 重命名和刪除文件
    1、rename()
import os
os.rename(當(dāng)前文件名,新文件名)

2、remove(文件名)

import os
os.ramove(文件名)
  • python里的目錄
    1、mkdir()
    //可以使用os模塊的mkdir()方法在當(dāng)前目錄下創(chuàng)建新的目錄們。
import os
os.mkdir(新目錄名)

2、chdir()
//改變當(dāng)前的目錄.

import os
os.chdir(想要跳轉(zhuǎn)到的目錄名)

3、getcwd()
//顯示當(dāng)前的工作目錄

import os
print os.getcwd()

4、rmdir()
//刪除某個(gè)目錄,目錄的完全合規(guī)的名稱必須被給出,否則會(huì)在當(dāng)前目錄下搜索該目錄。

import os
os.rmdir(要?jiǎng)h除的目錄名)
  • 文件方法
    1、file.close():關(guān)閉文件,關(guān)閉后文件不能再進(jìn)行讀寫操作;
    2、file.flush():刷新文件內(nèi)部緩沖,直接把內(nèi)部緩沖區(qū)的數(shù)據(jù)立刻寫入文件,而不是被動(dòng)的等待輸出緩沖區(qū)寫入。
    3、file.fileno():返回一個(gè)整型的文件描述符,可以用在os模塊的read方法等一些底層操作上。
    4、file.isatty():如果文件連接到一個(gè)終端設(shè)備返回 True,否則返回 False。
    5、file.next():返回文件下一行。
    6、file.read([size]):從文件讀取指定的字節(jié)數(shù),如果未給定或?yàn)樨?fù)則讀取所有。
    7、file.readline([size]):讀取整行,包括'\n'字符。
    8、file.readlines([sizehint]):讀取所有行并返回列表,若給定的sizehint>0,則表明一次讀取多少行。
    9、file.seek[需要偏移的字節(jié)[,偏移初始位置]:設(shè)置文件當(dāng)前位置。
    10、file.tell():返回文件當(dāng)前位置。
    11、file.truncate([size]):截取文件,截取的字節(jié)通過(guò)size指定,默認(rèn)為當(dāng)前文件位置。
    12、file.write(str):將字符串寫入文件,沒有返回值。
    13、file.writelines(sequence):向文件寫入一個(gè)字符串列表,如果需要換行則自己加入每行的換行符。

python 內(nèi)置函數(shù)

  • abs()
    返回?cái)?shù)字的絕對(duì)值
  • divmod()
    把除數(shù)和余數(shù)運(yùn)算結(jié)果結(jié)合起來(lái),返回一個(gè)包含商和余數(shù)的元組(a // b, a % b)
  • input()
    input() 和 raw_input() 這兩個(gè)函數(shù)均能接收字符串 ,但 raw_input() 直接讀取控制臺(tái)的輸入(任何類型的輸入它都可以接收)。而對(duì)于 input() ,它希望能夠讀取一個(gè)合法的 python 表達(dá)式,即你輸入字符串的時(shí)候必須使用引號(hào)將它括起來(lái),否則它會(huì)引發(fā)一個(gè) SyntaxError 。
    除非對(duì) input() 有特別需要,否則一般情況下我們都是推薦使用 raw_input() 來(lái)與用戶交互。
  • open()
    打開一個(gè)文件
  • staticmethod()
    返回函數(shù)的靜態(tài)方法
  • all()
    用于判斷給定的可迭代參數(shù) iterable 中的所有元素是否都為 TRUE,如果是返回 True,否則返回 False。元素除了是 0、空、FALSE 外都算 TRUE??赵M、空列表返回值為True。
  • enumerate()
    將一個(gè)可遍歷的數(shù)據(jù)對(duì)象(如列表、元組或字符串)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般用在 for 循環(huán)當(dāng)中。
  • int()
    將一個(gè)字符串或數(shù)字轉(zhuǎn)換為整型。
  • ord()
    chr() 函數(shù)(對(duì)于8位的ASCII字符串)或 unichr() 函數(shù)(對(duì)于Unicode對(duì)象)的配對(duì)函數(shù),它以一個(gè)字符(長(zhǎng)度為1的字符串)作為參數(shù),返回對(duì)應(yīng)的 ASCII 數(shù)值,或者 Unicode 數(shù)值,如果所給的 Unicode 字符超出了你的 Python 定義范圍,則會(huì)引發(fā)一個(gè) TypeError 的異常。
  • str()
    將對(duì)象轉(zhuǎn)化為適于人閱讀的形式。
  • any()
    判斷給定的可迭代參數(shù) iterable 是否全部為 False,則返回 False,如果有一個(gè)為 True,則返回 True。元素除了是 0、空、FALSE 外都算 TRUE??赵M、空列表返回值為False。
  • eval()
    用來(lái)執(zhí)行一個(gè)字符串表達(dá)式,并返回表達(dá)式的值.
    //eval 方法能使字符串本身的引號(hào)去掉,保留字符的原本屬性。
  • isinstance()
    判斷一個(gè)對(duì)象是否是一個(gè)已知的類型,類似 type()。
    // isinstance() 與 type() 區(qū)別:
    type() 不會(huì)認(rèn)為子類是一種父類類型,不考慮繼承關(guān)系。
    isinstance() 會(huì)認(rèn)為子類是一種父類類型,考慮繼承關(guān)系。
    如果要判斷兩個(gè)類型是否相同推薦使用 isinstance()。
  • pow()
    返回 x^y(x的y次方) 的值。
對(duì)于內(nèi)置pow():pow(x,y[,z])
對(duì)于math模塊:pow(x,y)
函數(shù)是計(jì)算x的y次方,如果z在存在,則再對(duì)結(jié)果進(jìn)行取模,其結(jié)果等效于pow(x,y) %z;
pow() 通過(guò)內(nèi)置的方法直接調(diào)用,內(nèi)置方法會(huì)把參數(shù)作為整型,而 math 模塊則會(huì)把參數(shù)轉(zhuǎn)換為 float。
pow(x,y)==x**y
pow(x,y[,z])==x**y%z
  • sum()
    對(duì)系列進(jìn)行求和計(jì)算。
sum(iterable[,start])
iterable:可迭代對(duì)象,如:列表、元組、集合。
start:指定相加的參數(shù),如果沒有設(shè)置這個(gè)值,默認(rèn)為0。
sum([1,2,3],2)=8
  • basestring()
    str 和 unicode 的超類(父類),也是抽象類,因此不能被調(diào)用和實(shí)例化,但可以被用來(lái)判斷一個(gè)對(duì)象是否為 str 或者 unicode 的實(shí)例,isinstance(obj, basestring) 等價(jià)于 isinstance(obj, (str, unicode))。
  • execfile()
    執(zhí)行文件內(nèi)的內(nèi)容
  • issubclass()
issubclass(class,classinfo)

如果 class 是 classinfo 的子類返回 True,否則返回 False。

  • print()
    打印輸出
  • super()
    調(diào)用父類的一個(gè)方法
  • bin()
    返回一個(gè)整數(shù)(int)或者長(zhǎng)整數(shù)(long int)的二進(jìn)制形式.
bin(X)
  • file()
    創(chuàng)建一個(gè)file對(duì)象
  • iter()
    生成迭代器
  • property()
    在新式類中返回屬性值。
  • tuple()
    將列表轉(zhuǎn)換為元組
tuple(列表)

//對(duì)于字典則會(huì)返回由鍵名組成元組,對(duì)于元組則會(huì)返回本身。

  • bool()
    將給定參數(shù)轉(zhuǎn)換為布爾類型,如果沒有參數(shù),返回 False。
    //bool是int的子類
  • filter()
filter(函數(shù)名,序列)

filter() 函數(shù)用于過(guò)濾序列,過(guò)濾掉不符合條件的元素,返回由符合條件元素組成的新列表。
該接收兩個(gè)參數(shù),第一個(gè)為函數(shù),第二個(gè)為序列,序列的每個(gè)元素作為參數(shù)傳遞給函數(shù)進(jìn)行判,然后返回 True 或 False,最后將返回 True 的元素放到新列表中。

  • len()
    返回對(duì)象(字符、列表、元組等)長(zhǎng)度或項(xiàng)目個(gè)數(shù).
  • range()
range(開始,結(jié)束,間隔數(shù))

//間隔數(shù)默認(rèn)為1,開始位置默認(rèn)為0,只含兩個(gè)參數(shù)時(shí),若后面一個(gè)參數(shù)小于前面一個(gè)參數(shù),則返回 [ ]。
創(chuàng)建一個(gè)整數(shù)列表,一般用在 for 循環(huán)中.

  • type()
    如果你只有第一個(gè)參數(shù)則返回對(duì)象的類型,三個(gè)參數(shù)返回新的類型對(duì)象。
    // isinstance() 與 type() 區(qū)別:
    1、type() 不會(huì)認(rèn)為子類是一種父類類型,不考慮繼承關(guān)系。
    2、isinstance() 會(huì)認(rèn)為子類是一種父類類型,考慮繼承關(guān)系。
    如果要判斷兩個(gè)類型是否相同推薦使用 isinstance()。
  • bytearray()
    返回一個(gè)新字節(jié)數(shù)組。這個(gè)數(shù)組里的元素是可變的,并且每個(gè)元素的值范圍: 0 <= x < 256。
  • float()
    將整數(shù)和字符串轉(zhuǎn)換成浮點(diǎn)數(shù)。
  • list()
    將元組轉(zhuǎn)化為列表
    //元組 ( ) 中的值無(wú)法修改,列表 [ ] 中的值可修改。
  • raw_input()
    用來(lái)獲取控制臺(tái)的輸入,將所有輸入作為字符串看待;input可以將輸入的表達(dá)式進(jìn)行運(yùn)算。
    //raw_input與input后面括號(hào)內(nèi)若給予字符串,則均需要加上 ' '。
  • unichr
    返回unicode的字符。
    //與之相對(duì)應(yīng)的chr(),則根據(jù)所給的字符返回對(duì)應(yīng)的ascii碼(有一定的范圍限制)。
  • callable()
    檢查一個(gè)對(duì)象是否是可調(diào)用的。如果返回True,object仍然可能調(diào)用失??;但如果返回False,調(diào)用對(duì)象ojbect絕對(duì)不會(huì)成功。
    //對(duì)于函數(shù), 方法, lambda 函式, 類, 以及實(shí)現(xiàn)了 call 方法的類實(shí)例, 它都返回 True。
  • format()
    增強(qiáng)了字符串格式化的功能。基本語(yǔ)法是通過(guò) {} 和 : 來(lái)代替以前的 %;format 函數(shù)可以接受不限個(gè)參數(shù),位置可以不按順序。
  • locals()
    以字典類型返回當(dāng)前位置的全部局部變量。對(duì)于函數(shù), 方法, lambda 函式, 類, 以及實(shí)現(xiàn)了 call 方法的類實(shí)例, 它都返回 True。
  • reduce()
    對(duì)參數(shù)序列中元素進(jìn)行累積。函數(shù)將一個(gè)數(shù)據(jù)集合(鏈表,元組等)中的所有數(shù)據(jù)進(jìn)行下列操作:用傳給 reduce 中的函數(shù) function(有兩個(gè)參數(shù))先對(duì)集合中的第 1、2 個(gè)元素進(jìn)行操作,得到的結(jié)果再與第三個(gè)數(shù)據(jù)用 function 函數(shù)運(yùn)算,最后得到一個(gè)結(jié)果。
    //在 Python3 中,reduce() 函數(shù)已經(jīng)被從全局名字空間里移除了,它現(xiàn)在被放置在 fucntools 模塊里,如果想要使用它,則需要通過(guò)引入 functools 模塊來(lái)調(diào)用 reduce() 函數(shù)。
  • chr()
    用一個(gè)范圍在 range(256)內(nèi)的(就是0~255)整數(shù)作參數(shù),返回一個(gè)對(duì)應(yīng)的字符。
    //chr(i)中的 i 既可以是十進(jìn)制又可以是十六進(jìn)制。
  • frozenset()
    返回一個(gè)凍結(jié)的集合,凍結(jié)后集合不能再添加或刪除任何元素。
  • long()
    將數(shù)字或字符串轉(zhuǎn)換為一個(gè)長(zhǎng)整型。
long(x,base=10)
  • reload()
    重新載入之前載入的模塊。
  • vars()
    返回對(duì)象object的屬性和屬性值的字典對(duì)象,如果沒有參數(shù),就打印當(dāng)前調(diào)用位置的屬性和屬性值類似 locals()。
  • classmethod修飾符
    classmethod 修飾符對(duì)應(yīng)的函數(shù)不需要實(shí)例化,不需要 self 參數(shù),但第一個(gè)參數(shù)需要是表示自身類的 cls 參數(shù),可以來(lái)調(diào)用類的屬性,類的方法,實(shí)例化對(duì)象等。
  • getattr()
    返回一個(gè)對(duì)象屬性值。
  • map()
    根據(jù)提供的函數(shù)對(duì)指定序列做映射。第一個(gè)參數(shù) function 以參數(shù)序列中的每一個(gè)元素調(diào)用 function 函數(shù),返回包含每次 function 函數(shù)返回值的新列表。
  • repr()
    將對(duì)象轉(zhuǎn)化為供解釋器讀取的形式,返回一個(gè)對(duì)象的 string 格式。
  • xrange()
    用法與range()類似,只是生成的不是一個(gè)數(shù)組,而是一個(gè)生成器。
list(xrange(10))==range(10)
  • cmp()
    用于比較2個(gè)對(duì)象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
cmp(x,y)

//python3中使用的是operator模塊

  • globals()
    以字典類型返回當(dāng)前位置的全部全局變量;包括所有導(dǎo)入的變量。
  • max()
    返回給定參數(shù)的最大值,參數(shù)可以為序列。
  • reverse()
    該方法沒有返回值,但是會(huì)對(duì)列表的元素進(jìn)行反向排序。
  • zip()
    用于將可迭代的對(duì)象作為參數(shù),將對(duì)象中對(duì)應(yīng)的元素打包成一個(gè)個(gè)元組,然后返回由這些元組組成的列表。如果各個(gè)迭代器的元素個(gè)數(shù)不一致,則返回列表長(zhǎng)度與最短的對(duì)象相同,利用 * 號(hào)操作符,可以將元組解壓為列表。
  • compile()
    將一個(gè)字符串編譯為字節(jié)代碼;返回表達(dá)式執(zhí)行結(jié)果。
  • hasattr()
    用于判斷對(duì)象是否包含對(duì)應(yīng)的屬性;如果對(duì)象有該屬性返回 True,否則返回 False。
  • memoryview()
    返回給定參數(shù)的內(nèi)存查看對(duì)象(Momory view)。所謂內(nèi)存查看對(duì)象,是指對(duì)支持緩沖區(qū)協(xié)議的數(shù)據(jù)進(jìn)行包裝,在不需要復(fù)制對(duì)象基礎(chǔ)上允許Python代碼訪問。
  • round()
    返回浮點(diǎn)數(shù)x的四舍五入值。
    //python2中是保留值將保留到離上一位更近的一端(四舍六入),如果距離兩端一樣遠(yuǎn),則保留到離0遠(yuǎn)的一邊。所以round(0.5)會(huì)近似到1,而round(-0.5)會(huì)近似到-1。
    python3中是如果距離兩邊一樣遠(yuǎn),會(huì)保留到偶數(shù)的一邊。比如round(0.5)和round(-0.5)都會(huì)保留到0,而round(1.5)會(huì)保留到2。
  • __ import __()
    用于動(dòng)態(tài)加載類和函數(shù) 。如果一個(gè)模塊經(jīng)常變化就可以使用 __ import __() 來(lái)動(dòng)態(tài)載入
  • complex()
    用于創(chuàng)建一個(gè)值為 real + imag * j 的復(fù)數(shù)或者轉(zhuǎn)化一個(gè)字符串或數(shù)為復(fù)數(shù)。如果第一個(gè)參數(shù)為字符串,則不需要指定第二個(gè)參數(shù)。
  • hash()
    獲取取一個(gè)對(duì)象(字符串或者數(shù)值等)的哈希值。
    //函數(shù)可以應(yīng)用于數(shù)字、字符串和對(duì)象,不能直接應(yīng)用于 list、set、dictionary。在 hash() 對(duì)對(duì)象使用時(shí),所得的結(jié)果不僅和對(duì)象的內(nèi)容有關(guān),還和對(duì)象的 id(),也就是內(nèi)存地址有關(guān)。
  • min()
    返回給定參數(shù)的最小值,參數(shù)可以為序列;與max()相對(duì)應(yīng)。比較時(shí),從第一個(gè)字符開始,第一個(gè)相同,比較第二個(gè),依次類推。
  • set()
    創(chuàng)建一個(gè)無(wú)序不重復(fù)元素集,可進(jìn)行關(guān)系測(cè)試,刪除重復(fù)數(shù)據(jù),還可以計(jì)算交集、差集、并集等。
  • delattr()
    刪除屬性
delattr(對(duì)象,對(duì)象屬性)
  • help()
    查看函數(shù)或模塊用途的詳細(xì)說(shuō)明。
  • next()
    返回迭代器的下一個(gè)項(xiàng)目。
  • setattr()
    設(shè)置屬性值,該屬性必須存在。
  • dict()
    創(chuàng)建一個(gè)字典。
  • hex()
    將10進(jìn)制整數(shù)轉(zhuǎn)換成16進(jìn)制,以字符串形式表示。
  • slice()
    實(shí)現(xiàn)切片對(duì)象,主要用在切片操作函數(shù)里的參數(shù)傳遞。
  • dir()
    不帶參數(shù)時(shí),返回當(dāng)前范圍內(nèi)的變量、方法和定義的類型列表;帶參數(shù)時(shí),返回參數(shù)的屬性、方法列表。如果參數(shù)包含方法dir(),該方法將被調(diào)用。如果參數(shù)不包含dir(),該方法將最大限度地收集參數(shù)信息。
  • id()
    獲取對(duì)象的內(nèi)存地址。
  • oct()
    將一個(gè)整數(shù)轉(zhuǎn)換成8進(jìn)制字符串。
  • sorted()
    對(duì)所有可迭代的對(duì)象進(jìn)行排序操作。
    // sort 與 sorted 區(qū)別:sort 是應(yīng)用在 list 上的方法,sorted 可以對(duì)所有可迭代的對(duì)象進(jìn)行排序操作。list 的 sort 方法返回的是對(duì)已經(jīng)存在的列表進(jìn)行操作,而內(nèi)建函數(shù) sorted 方法返回的是一個(gè)新的 list,而不是在原來(lái)的基礎(chǔ)上進(jìn)行的操作。
  • exec()
    執(zhí)行儲(chǔ)存在字符串或文件中的Python語(yǔ)句,相比于 eval,exec可以執(zhí)行更復(fù)雜的 Python 代碼。exec 返回值永遠(yuǎn)為 None。
    //在 Python2 中exec不是函數(shù),而是一個(gè)內(nèi)置語(yǔ)句(statement),但是Python 2中有一個(gè) execfile() 函數(shù)。可以理解為 Python 3 把 exec 這個(gè) statement 和 execfile() 函數(shù)的功能夠整合到一個(gè)新的 exec() 函數(shù)中去了。
    上一篇:python基礎(chǔ)知識(shí)(4)
    下一篇:python基礎(chǔ)知識(shí)(進(jìn)階篇--正則表達(dá)式)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,744評(píng)論 0 5
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,715評(píng)論 19 139
  • Lua 5.1 參考手冊(cè) by Roberto Ierusalimschy, Luiz Henrique de F...
    蘇黎九歌閱讀 14,264評(píng)論 0 38
  • 明知沒意義,卻無(wú)法不執(zhí)著的事物——誰(shuí)都有這樣的存在。 前幾天逛貼吧時(shí)看到了一個(gè)關(guān)于單戀的帖子,主題是說(shuō)說(shuō)你單戀的人...
    esme3104閱讀 460評(píng)論 0 0
  • 今天我們?cè)诨丶业穆飞峡吹搅?,文具店,突然想起今天要買鬧鐘,我和媽媽踏進(jìn)的文具店。 買這個(gè)鬧鐘的原因,是因?yàn)槲医?jīng)常起...
    偵探迷閱讀 328評(píng)論 0 1

友情鏈接更多精彩內(nèi)容