pycharm配置python環境的方法:
直接的寫入數據是不行的,因為默認打開的是’r’ 只讀模式
>>> f.write(‘hello boy’)
Traceback (most recent call last):
File “”, line 1, in
IOError: File not open for writing
>>> f
應該先指定可寫的模式
>>> f1 = open(‘/tmp/test.txt’,’w’)
>>> f1.write(‘hello boy!’)
但此時數據只寫到了緩存中,并未保存到文件,而且從下面的輸出可以看到,原先里面的配置被清空了
[root@node1 ~]# cat /tmp/test.txt
[root@node1 ~]#
關閉這個文件即可將緩存中的數據寫入到文件中
>>> f1.close()
[root@node1 ~]# cat /tmp/test.txt
[root@node1 ~]# hello boy!
注意:這一步需要相當慎重,因為如果編輯的文件存在的話,這一步操作會先清空這個文件再重新寫入。那么如果不要清空文件再寫入該如何做呢?
使用r 模式不會先清空,但是會替換掉原先的文件,如下面的例子:hello boy! 被替換成hello aay!
>>> f2 = open(‘/tmp/test.txt’,’r ‘)
>>> f2.write(‘\nhello aa!’)
>>> f2.close()
[root@node1 python]# cat /tmp/test.txt
hello aay!
如何實現不替換?
>>> f2 = open(‘/tmp/test.txt’,’r ‘)
>>> f2.read()
‘hello girl!’
>>> f2.write(‘\nhello boy!’)
>>> f2.close()
[root@node1 python]# cat /tmp/test.txt
hello girl!
hello boy!
可以看到,如果在寫之前先讀取一下文件,再進行寫入,則寫入的數據會添加到文件末尾而不會替換掉原先的文件。這是因為指針引起的,r 模式的指針默認是在文件的開頭,如果直接寫入,則會覆蓋源文件,通過read() 讀取文件后,指針會移到文件的末尾,再寫入數據就不會有問題了。這里也可以使用a 模式
>>> f = open(‘/tmp/test.txt’,’a’)
>>> f.write(‘\nhello man!’)
>>> f.close()
>>>
[root@node1 python]# cat /tmp/test.txt
hello girl!
hello boy!
hello man!
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。