(我的代码)
#!/usr/bin/python3
import fileinput
for line in fileinput.input("/etc/ssh/sshd_config", inplace=True), :
print (line.replace("#PermitRootLogin", "PermitRootLogin no"))
(错误)
最近一次调用(回溯): 文件“./assignment4-part1.py”,第6行,in 打印(线路。更换(“#许可登录”,“许可登录=否”) AttributeError:“FileInput”对象没有属性“replace”
(注)
我尝试了不同的方法,从其他帖子看到的查找和替换行,但遇到了类似的问题/错误。任何指导都将不胜感激。我使用的是CentOS,python3已经安装/更新。在
代码中有语法错误。您的
for
循环表达式有一个错误的逗号:这意味着您实际上是在一个包含
fileinput.FileInput
对象的单个元素元组上迭代,而不是迭代对象本身。在删除逗号:
^{pr2}$另外两个简短的建议:
不要在循环中使用
print
,因为print
会附加一个换行符,所以您将以两倍的间距结束整个文件。相反,请考虑:最后,考虑一下如果您的输入文件包含:
您的代码将重写为:
这是无效的。在
如果是Python文件,请将
import sys
添加到顶部。并获得一本好的Python初学者指南:>或者考虑使用gnused regex并完全避免使用Python
相关问题 更多 >
编程相关推荐