2024-10-03 00:21:28 发布
网友
我正在尝试使用Python(通过Linux终端)来替换文本文件text_file.txt以下行中的单词“example”:
text_file.txt
abcdefgh example uvwxyz
我想要的是:
我可以用Python中的一行程序来完成这个任务吗?在
编辑: 我有一个perl一行程序perl -p -i -e 's#example#replaced_example#' text_file.txt,但我也希望用Python实现它
perl -p -i -e 's#example#replaced_example#' text_file.txt
你可以做到:
python -c 'print open("text_file.txt").read().replace("example","replaced_example")'
但它相当笨重。Python的语法并不是为了生成好的1行程序而设计的(尽管它通常是这样工作的)。Python将清晰性放在一切之上,这是您需要导入内容以获得Python所提供的真正强大工具的原因之一。因为您需要导入一些东西来真正利用python的功能,所以它不适合从命令行创建简单的脚本。在
我宁愿使用专门为这类事情设计的工具,例如sed:
sed
顺便说一句,fileinput模块支持就地修改,就像sed-i一样
-bash-3.2$ python -c ' import fileinput for line in fileinput.input("text_file.txt", inplace=True): print line.replace("example","replace_example"), '
你可以做到:
但它相当笨重。Python的语法并不是为了生成好的1行程序而设计的(尽管它通常是这样工作的)。Python将清晰性放在一切之上,这是您需要导入内容以获得Python所提供的真正强大工具的原因之一。因为您需要导入一些东西来真正利用python的功能,所以它不适合从命令行创建简单的脚本。在
我宁愿使用专门为这类事情设计的工具,例如
^{pr2}$sed
:顺便说一句,fileinput模块支持就地修改,就像sed-i一样
相关问题 更多 >
编程相关推荐