如何使用python打开文件进行读写? Ubuntu服务器

时间:2014-03-07 09:23:10

标签: python

我想要做的是编辑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将这段文本添加到文件中。

3 个答案:

答案 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',因为它在其他答案中显示!否则你将覆盖该文件!