您好,登錄后才能下訂單哦!
open()成功執行后返回一個文件對象,以后所有對該文件的操作都可以通過這個“句柄”來進行,現在主要討論下常用的輸入以及輸出操作。
輸出:
read()方法用于直接讀取字節到字符串中,可以接參數給定最多讀取的字節數,如果沒有給定,則文件讀取到末尾。
readline()方法讀取打開文件的一行(讀取下個行結束符之前的所有字節),然后整行,包括行結束符,作為字符串返回。
readlines()方法讀取所有行然后把它們作為一個字符串列表返回
eg:
文件/root/10.txt的內容如下,分別使用上面的三個方法來讀取,注意區別:
1.read():
>>>> cat /root/10.txt
I'll write this message for you
hehe,that's will be ok.
>>>> fobj = open('/root/10.txt') ##默認已只讀方式打開
>>>> a = fobj.read()
>>>> a
"I'll write this message for you\nhehe,that's will be ok.\n" ##直接讀取字節到字符串中,包括了換行符
>>>> print a
I'll write this message for you
hehe,that's will be ok.
>>>> fobj.close() ##關閉打開的文件
2.readline():
>>>> fobj = open('/root/10.txt')
>>>> b = fobj.readline()
>>>> b
"I'll write this message for you\n" ##整行,包括行結束符,作為字符串返回
>>>> c = fobj.readline()
>>>> c
"hehe,that's will be ok.\n"
##整行,包括行結束符,作為字符串返回
>>>> fobj.close()
3.readlines():
>>>> fobj = open('/root/10.txt')
>>>> d = fobj.readlines()
>>>> d
["I'll write this message for you\n", "hehe,that's will be ok.\n"] ##讀取所有行然后把它們作為一個字符串列表返回
>>>> fobj.close()
4.xreadlines
xrange
Renames xrange() to range() and wraps existing range() calls with list.
xreadlines
Changes for x in file.xreadlines() to for x in file.
輸入:
write()方法和read()、readline()方法相反,將字符串寫入到文件中。
和readlines()方法一樣,writelines()方法是針對列表的操作。它接收一個字符串列表作為參數,將他們寫入到文件中,換行符不會自動的加入,因此,需要顯式的加入換行符。
eg:
1.write():
>>>> fobj = open('/root/3.txt','w')
###確保/root/3.txt沒有存在,如果存在,則會首先清空,然后寫入。
>>>> msg = ['write date','to 3.txt','finish'] ###這里沒有顯式的給出換行符
>>>> for m in msg:
... fobj.write(m)
...
>>>> fobj.close()
>>>> cat /root/3.txt
write dateto 3.txtfinish
>>>> fobj = open('/root/3.txt','w') ###覆蓋之前的數據
>>>> msg = ['write date\n','to 3.txt\n','finish\n'] ###顯式給出換行符
>>>> for m in msg:
... fobj.write(m)
...
>>>> fobj.close()
>>>> cat /root/3.txt
write date
to 3.txt
finish
2.writelines():
>>>>fobj = open('/root/3.txt','w')
>>>>msg = ['write date\n','to 3.txt\n','finish\n']
>>>>fobj.writelines(msg)
>>>>fobj.close()
cat /root/3.txt
write date
to 3.txt
finish
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。