python - 在脚本中使用 pysed

标签 python sed

我可以在命令行上成功运行,但在 python 脚本中遇到问题。它提示第二个双引号。

pysed -r "192.168.33.10" "$NEW_IP" FILE --write
                       ^
SyntaxError: invalid syntax

如何在脚本中运行它?

最佳答案

确实,该模块没有将其用作库的文档。但是深入研究源代码,您可以弄清楚如何使用它。

例如:

import shlex
from pysed import main as pysedmain

pattern = '192.168.33.10'
new_ip = '192.168.0.1'
filename = '/path/to/my/file.txt'

command_line_args = '-r "{pattern}" "{replacement}" {filename}'.format(pattern=pattern, replacement=new_ip, filename=filename)
args = shlex.split(command_line_args)
isWrite = True

with open(filename, 'rU') as f:
        data = f.read()
        pysedmain.executeArguments(args, data, filename, isWrite)

关于python - 在脚本中使用 pysed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33898830/

相关文章:

python - Python中笛卡尔坐标中四个点的二面角/扭转角

python - python 中的 md5 输出与命令行不同(即使在二进制模式下)

bash - 从文件名中提取数字

regex - Linux命令替换标准输入中没有 '\n'的字符

python - 在 python 中多次访问 mmap 对象

python - 数字代码回归测试框架

python - 如何在 Python 3 中对整数使用 ', ' .join(var)?

shell - 将文件中字符串的值分配给变量

bash - 提取赋值表达式的值

脚本中的 sed untermated 命令