Python单行代码用文本文件中的另一个单词替换一个单词

时间:2012-10-17 18:41:35

标签: python

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

abcdefgh example uvwxyz

我想要的是:

abcdefgh replaced_example uvwxyz

我可以在Python中使用单行代码吗?

修改 我有一个perl单行perl -p -i -e 's#example#replaced_example#' text_file.txt,但我也想用Python做这个

2 个答案:

答案 0 :(得分:9)

你可以这样做:

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

但它相当笨重。 Python的语法并不是为了制作漂亮的1-liners而设计的(虽然经常以这种方式运行)。 Python重视其他所有内容的清晰度,这是您需要导入内容以获得python必须提供的真正强大工具的一个原因。因为你需要导入东西以真正利用python的强大功能,所以它不会从命令行创建简单的脚本。

我宁愿使用专为此类设计的工具 - 例如sed

sed -e 's/example/replace_example/g' text_file.txt

答案 1 :(得分:0)

顺便提一下,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"),
'