如何将python程序插入bash脚本?

如何将python程序插入bash脚本?,python,bash,heredoc,Python,Bash,Heredoc,我有一个小型python程序,它解析一个文本文件并将输出写入另一个文件。目前,我正在编写一个bash脚本来多次调用此程序,它看起来像: for i in $(seq 1 100); do python /home/Documents/myProgram.py myTextFile$i done 这很好,但是我想知道是否有可能在bash脚本文件中包含python程序,这样当其他用户运行脚本时,他们就不需要在内存中包含python程序;i、 例如,是否可以将python程序

我有一个小型python程序,它解析一个文本文件并将输出写入另一个文件。目前,我正在编写一个bash脚本来多次调用此程序,它看起来像:

for i in $(seq 1 100); do

          python /home/Documents/myProgram.py myTextFile$i

done

这很好,但是我想知道是否有可能在bash脚本文件中包含python程序,这样当其他用户运行脚本时,他们就不需要在内存中包含python程序;i、 例如,是否可以将python程序复制并粘贴到bash脚本中,然后从脚本本身运行它?

我认为您应该能够:

python  << END
[Python code here]
END

python对于简单脚本,还可以使用-c选项运行python。比如说

python -c "x=1; print x; print 'great program eh'"

我不建议编写太复杂的东西,但它可以用于简单的东西。

或者,您可以
将程序回送到脚本旁边的文件中,从那里运行,然后
rm
该文件。但真的,不要这样做。您将不会对该程序进行任何语法突出显示,使其几乎无法维护。与其将其与脚本打包在一起,还不如让您的Python脚本完全替换bash部分。这可能还取决于Python程序中的内容…@tobias_k:+1进行替换,因为Python也可以对
循环执行
。这与您的问题没有直接关系,但被认为是一个改进,应该是:for i in{1..100};do…-原因:大括号扩展是bash内置的,不需要子shell,而seq不需要子shell,需要子shell,并且并不普遍。有些人更喜欢((…;))样式的循环,但在python tooYup中,@Cyrus似乎有它。我们在这里使用文档的想法是一样的。
Argument List: ['-', '1', '2', '3']
python -c "x=1; print x; print 'great program eh'"