【问题标题】:turn "terminal code" into "text editor code" on Mac在 Mac 上将“终端代码”转换为“文本编辑器代码”
【发布时间】:2019-04-11 14:47:17
【问题描述】:

这可能是一个非常愚蠢的问题,但我想采用可以通过终端运行的方式编写的代码并将其放入 .py 文件中。

代码是:

$ python -m sesame.targetid --mode predict \
                            --model_name fn1.7-pretrained-targetid \
                            --raw_input sentences.txt
$ python -m sesame.frameid --mode predict \
                           --model_name fn1.7-pretrained-frameid \
                           --raw_input logs/fn1.7-pretrained-targetid/predicted-targets.conll
$ python -m sesame.argid --mode predict \
                         --model_name fn1.7-pretrained-argid \
                         --raw_input logs/fn1.7-pretrained-frameid/predicted-frames.conll

是否有可能以某种方式翻译它,以便我可以将其放入文本编辑器并将其保存为 .py 文件,这样我就可以在终端中简单地使用

$ python myfile.py

【问题讨论】:

  • 为什么不创建一个bash 脚本来执行这些命令?
  • 那不是 Python 代码。如果有任何内容,您可以将其原样放入 .sh 文件中并将其作为 bash 脚本运行。将其转换为等效的 Python 代码取决于该库如何将这些特定的命令行参数转换为内部函数调用。

标签: python terminal


【解决方案1】:

我没有将这些命令放入 Python 文件中,而是将这些命令放入 shell 脚本中。看到它看起来像在 Unix 系统上,你可以使用这个:

#!/bin/sh
python -m sesame.targetid --mode predict \
                          --model_name fn1.7-pretrained-targetid \
                          --raw_input sentences.txt
python -m sesame.frameid --mode predict \
                         --model_name fn1.7-pretrained-frameid \
                         --raw_input logs/fn1.7-pretrained-targetid/predicted-targets.conll
python -m sesame.argid --mode predict \
                       --model_name fn1.7-pretrained-argid \
                       --raw_input logs/fn1.7-pretrained-frameid/predicted-frames.conll

在运行此程序时,您需要位于通常运行这些 Python 脚本的同一目录中。

然后您可以运行sh myfile.sh 或使用chmod u+x myfile.sh 使其成为可执行文件,然后您就可以运行./myfile.sh

第一行 #!/bin/shshebang。它告诉 shell 使用什么程序来执行文件。如果你使用sh myfile.sh 运行它是没有必要的,但它不会受到伤害,因为它本质上是sh 中的评论。

【讨论】:

    猜你喜欢
    • 2020-03-11
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多