我想要做的是编辑etc / samba / smb.conf,我想添加
[Test's Files]
comment = Test's Files
path = /files/test
browsable = yes
read only = no
valid users = test
所有这一切都通过Python Web应用程序来收集用户输入的信息。现在我只想知道如何用python将这段文本添加到文件中。
答案 0 :(得分:1)
您可以使用python中的open()
函数来获取文件:
with open('path/to/file', 'w') as output_file:
output_file.write('content')
open命令的第二个参数是模式。更多细节可以在the Python documentation website找到。附注:如果这是在/ etc /中,那么您的应用程序可能需要特殊权限才能写入此文件。要限制提升权限的潜在危险,您应该创建一个具有提升权限的子流程,除了编写此文件以便主进程具有正常权限之外什么也不做。
答案 1 :(得分:0)
您可以在python中查看SMBCOnnection模块。http://pythonhosted.org/pysmb/api/smb_SMBConnection.html
我已经使用它是一个很好的模块来使用smb服务器。
以open('path to file','w')作为fileobj: fileobj.write('要写的文字')
上面的代码很容易打开,写入。并关闭一个隐含执行打开和关闭操作的文件答案 2 :(得分:0)
你可以用这种简单的方式做到这一点:
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 +'和 NOT 'w',因为它在其他答案中显示!否则你将覆盖该文件!