【发布时间】:2014-08-10 10:14:40
【问题描述】:
如何通过使用 subprocess 调用 nano 来写入/附加到文件并自动保存它。例如,我有一个文件,我想打开它并在它的末尾附加一些东西,所以我写
>>> import tempfile
>>> file = tempfile.NamedTemporaryFile(mode='a')
>>> example = file.name
>>> f.close()
>>> import subprocess
>>> subprocess.call(['nano', example])
现在,一旦最后一行被执行,文件就会打开,我可以写任何东西,然后按 Ctrl+O 和 Ctrl+X 保存它
相反,我希望我通过标准输入管道发送输入,并且文件自行保存,即可能有任何机制自行自动点击 Ctrl+O 和 Ctrl+X?
能帮我解决这个问题吗?
【问题讨论】:
-
你想在这里实现什么,将文件读入程序,然后写入,然后再次写入文件不是更好。
-
首先,为什么要使用
nano? -
我想通过远程获取用户输入来附加文件,所以如果除了 naon 之外还有什么其他的建议。
-
@saurabh:运行
nano如何帮助您获得权限?因为你sudo吗?如果是这样,你为什么不能sudo另一个 Python 脚本?还是sed或其他比nano更简单的工具? -
@saurabh:先运行
['sudo'],然后运行['nano'],不会有任何帮助。你必须运行['sudo', 'nano']。如果你可以为nano做同样的事情,你可以为sed或python做同样的事情。
标签: python subprocess nano