Python如何更改文件特定行的特定值?

时间:2014-02-11 05:07:43

标签: python

if [ "`id -u`" -eq 0 ]; then

这是现有文件中的行,我想要更改的是0到值1的值现在我只是想知道如何在python中执行此操作?
我见过其他人在导入subprocess并使用subprocess.call([])时发帖但这对我来说有点不清楚,所以我只需要有人为我简化这些并且可能会解释我可以使用的一行代码更改某行代码并将该值更改为0并详细说明如何执行此操作,非常感谢您的帮助。非常感谢。

1 个答案:

答案 0 :(得分:1)

Actuall,没有必要在python中这样做。可以使用sed实现,如下所示:

sed -i 's/\(if \[ "`id -u`" -eq \)0/\11/' myfile

此单行基本上是在您的文件中查找特定模式,并在找到此模式时将0替换为0.

如果您只想在第100行替换图案:

sed -i '100s/\(if \[ "`id -u`" -eq \)0/\11/' myfile

如果您有特定要求在python中执行此操作,请告诉我。我也可以为python添加类似的代码。该代码也将遵循基于正则表达式的类似方法。