python - 是否有相当于 `perl -pi -e` 的 Python ?

标签 python perl command-line language-features

我知道python -c '<code>' ,但我想知道是否有更优雅的 python 相当于 perl -pi -e '<code>' .我仍然经常使用它来查找和替换整个目录(perl -pi -e s/foo/bar/g * 甚至 find . | xargs perl -pi -e s/foo/bar/g 用于子目录)。

我真的觉得 Perl Perl(自由形式的 Tim Toady-ness)是什么使 perl -pi -e工作得很好,而使用 Python 时,您必须按照导入 re 模块、创建 re 实例然后捕获标准输入的方式做一些事情,但也许有一个 Python 快捷方式可以完成所有这些工作,而我错过了它(非常想念它)...

最佳答案

'python -h' 的命令行用法肯定强烈表明没有这样的等价物。 Perl 倾向于广泛使用 '$_' (您的示例隐含使用它),我不认为 Python 支持任何类似的概念,从而使 Python 等效于 Perl 单行更难。

关于python - 是否有相当于 `perl -pi -e` 的 Python ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/367115/

相关文章:

python - 使用 DBI 模块将 Perl 代码转换为带有 MySQLdb 的 Python

c++ - 连接 MFC 和命令行

python - 组合表单和 model_formset 出现 NoReverseMatch 错误

python - Pandas 过滤连续的行

c# - 在 perl 和 c# 中使用套接字在本地计算机上进行进程间通信

perl - 454 错误:使用 Net::SMTP::SSL 发送电子邮件时身份验证失败

java - 尝试从命令行编译 Java 时收到错误

bash - 如何在 Bash 中将变量设置为命令的输出?

python - 循环数据时嵌套字典

python - 复杂的矩阵乘法