[英]How do I open a file using python to read and write? Ubuntu server
我想做的是編輯etc / samba / smb.conf,然后添加
[Test's Files]
comment = Test's Files
path = /files/test
browsable = yes
read only = no
valid users = test
所有這些都是通過Python網絡應用程序完成的,該應用程序從用戶輸入中接收信息。 現在,我只想知道如何使用python將那段文本添加到文件中。
您可以在python中使用open()
函數來獲取文件:
with open('path/to/file', 'w') as output_file:
output_file.write('content')
open命令的第二個參數是mode。 可以在Python文檔網站上找到更多詳細信息。 旁注:如果在/ etc /中,則您的應用程序可能需要特殊權限才能寫入此文件。 為了限制特權提升的潛在危險,您應該使用提升的權限創建一個子進程,該子進程除了寫此文件外什么也不做,以便您的主進程具有正常的權限。
您可以在python中查看SMBCOnnection模塊。 http://pythonhosted.org/pysmb/api/smb_SMBConnection.html
我已經使用過它,這是一個與smb服務器一起工作的好模塊。
使用open('file的路徑','w')作為fileobj:fileobj.write('要寫入的文本')
上面的代碼非常容易打開,編寫和關閉文件,隱式地執行打開和關閉操作
您可以通過以下簡單方式進行操作:
with open('/etc/whatever.txt', 'a+') as file:
file.write("""[Test's Files]
comment = Test's Files
path = /files/test
browsable = yes
read only = no
valid users = test""")
但是,如果要編輯僅root用戶可以寫入的文件,則需要注意權限。 請注意你如何打開文件的模式 ! 如其他答案所示,它必須是“ a +”而不是 “ w”! 否則,您將覆蓋文件!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.