首页 > 解决方案 > Perl 的 -Sx 命令行选项的 Pythonic 等效项是什么?

问题描述

我的任务是将Perl 脚本转换为 Python

我对 Perl 真的很陌生,并且在遇到命令行选项时理解它,即-Sx.

Perl 中为这些参数提供了很好的文档。但是在 python 中没有太多相同的文档(在 Python 官方网站上没有找到太多信息)。

我的问题是PerlPython-Sx的命令行选项是否相同?

他们在两者中都完成了相同的任务吗?

标签: pythonpython-3.xpython-2.7perlscripting

解决方案


我在评论中提出的问题:

您是否考虑过您所询问的那一点外壳对于您正在做的事情是否真的必要?或者你只是想盲目地翻译而不了解事情在做什么?

我很确定答案分别是“否”和“是”。当您尝试将代码从一种语言翻译成另一种语言时,这不是一个好地方。您应该了解原始版本中发生了什么,并使您的新版本以最适合新语言的任何方式做同样的事情,而不是陷入一些您没有的盲目引导盲目货物崇拜代码知道发生了什么或当它总是不起作用时如何解决它。

如果您以前从未见过这样的源程序,那么根据您的其他问题,您尝试翻译的源程序会相当混乱,这无济于事。

你有一个 shell 脚本,它唯一的作用就是用 perl 运行一个程序,该程序的源代码直接嵌入到 shell 脚本中。这样做的原因是让真正的脚本在同一台计算机上根据环境在不同的 perl 安装下运行(我个人会将 perl 代码放在它自己的单独文件中,而不是试图巧妙地将它直接放在shell 脚本;perlbrew 文档示例采用这种方法)。这是你需要关心的python版本吗?我猜可能不会(如果是,请研究 pythonic 方法,而不是晦涩难懂的方法)。这意味着另一个问题的答案

你确定你甚至需要等价物[到-S和-x]?

不,我不认为你这样做。我认为您应该将其保留为纯 python,使这些选项所做的事情无关紧要。


推荐阅读