python 寫文件write(string), writelines(list) ,讀文件


read()方法用於直接讀取字節到字符串中,可以接參數給定最多讀取的字節數,如果沒有給定,則文件讀取到末尾。
readline()方法讀取打開文件的一行(讀取下個行結束符之前的所有字節),然后整行,包括行結束符,作為字符串返回。
readlines()方法讀取所有行然后把它們作為一個字符串列表返回

########
write()方法和read()、readline()方法相反,將 ####字符串####寫入到文件中。
和readlines()方法一樣,writelines()方法是針對####列表####的操作。它接收一個字符串列表作為參數,將他們寫入到文件中,換行符不會自動的加入,因此,需要顯式的加入換行符。

1.write

>>> >fobj = open('x','w')      ###確保/root/3.txt沒有存在,如果存在,則會首先清空,然后寫入。
>>> >msg = ['write date','to x','finish']    ###這里沒有顯式的給出換行符
>>> >for m in msg:
...            fobj.write(m)
...
>>> >fobj.close()
x內容:
write dateto xfinish
>>>>fobj = open('x','w')    ###覆蓋之前的數據
>>>>msg = ['write date\n','to x\n','finish\n']     ###顯式給出換行符
>>> >for m in msg:
...            fobj.write(m)
...
>>> >fobj.close()
x內容:
write date
to x
finish
>>> f=open('x','w')
>>> f.write('this\nis\nschool')    #write(string)
>>> f.close()
>>> 
>>> f=open('x','r')
>>> f.read()         #在這里直接f.read()讀出的是不換行的一段字符。
'this\nis\nschool'
>>> 

>>> f=open('x','r')
>>> print f.read()   #使用print語句將文件somefile-11-4.txt文件的真正內容顯示出來。
this
is
school
>>>

2.writelines(string)

>>>>fobj = open('x','w')
>>>>msg = ['write date\n','to x\n','finish\n']
>>>>fobj.writelines(msg)
>>>>fobj.close()
x內容:
write date
to 3.txt
finish
>>> f=open('x','r')
>>> lines=f.readlines()    #將讀到的文件內所有的內容放到分配的內存lines里
>>> f.close()
>>> lines[1]="isn't a\n"    #這里必須是雙引號,而不是單引號,否則報錯,在內存的第二行寫上字符:isn't a
>>> f=open('x','w')  #以寫的方式打開文件
>>> f.writelines(lines)     #將內存lines里的內容寫入到文件對象f里
>>> f.close()
>>> f=open('x','r')    #以讀的方式打開文件somefile-11-4.txt
>>> print f.read()          #將讀出的所有內容打印出來
this
isn't a
school
>>>

3.讀文件

>>> f=file("x")
>>> for line in f.readlines():
...     print line,       #如果不加逗號可能會出現多個空白行,加一個逗號可以避免這種情況,並且這樣寫可以避免文件里如果有中文會亂碼的情況
this
isn't a
school

>>>f=file("x")
>>>f.readline()
this
>>>f,readline()
isn't a
>>>f.readline()
school

>>> f = open("x","r")
>>> print f.read()
this
isn't a
school


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM