pythononeliner将文本fi中的一个单词替换为另一个单词

2024-10-03 00:21:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用Python(通过Linux终端)来替换文本文件text_file.txt以下行中的单词“example”:

abcdefgh example uvwxyz

我想要的是:

^{pr2}$

我可以用Python中的一行程序来完成这个任务吗?在

编辑: 我有一个perl一行程序perl -p -i -e 's#example#replaced_example#' text_file.txt,但我也希望用Python实现它


Tags: text程序txt终端编辑examplelinux单词
2条回答

你可以做到:

python -c 'print open("text_file.txt").read().replace("example","replaced_example")'

但它相当笨重。Python的语法并不是为了生成好的1行程序而设计的(尽管它通常是这样工作的)。Python将清晰性放在一切之上,这是您需要导入内容以获得Python所提供的真正强大工具的原因之一。因为您需要导入一些东西来真正利用python的功能,所以它不适合从命令行创建简单的脚本。在

我宁愿使用专门为这类事情设计的工具,例如sed

^{pr2}$

顺便说一句,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"),
'

相关问题 更多 >