Perl和python命令行参数的区别

Posted 猿类小天师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Perl和python命令行参数的区别相关的知识,希望对你有一定的参考价值。

Perl和Python脚本在读取命令行参数时还是有些许区别的:


对于PERL,在命令行调用myscript.pl脚本的时候带三个参数:

   myscript.pl  aaa bbb ccc 

然后打印出脚本接受的参数:

  argv[0]  aaa

  argv[1]  bbb

  argv[2]  ccc

  argv[-1] ccc

参数总数为3


对于PYTHON,在命令行调用myscript.py脚本时也带上三个参数:

   myscript.py  aaa bbb ccc 

然后同样的打印出脚本接受的参数:

  argv[0]  myscript.py

  argv[1]  aaa

  argv[2]  bbb

  argv[3]  ccc

  argv[-1] ccc

参数的总数为4


从实际情况可以看出两者的区别:

脚本接受参数时,perl不会将脚本本身放到参数列表里面,Python则会将脚本本身作为自己接受的第一个参数。


这里还些许提及一下两者对于字符串一个区别:

     perl里面单引号包含的特殊字符都不转义,全部当做单个字符处理,在单引号字符串里面再出现单引号时,需要对单引号进行转义。perl双引号里面打印特殊符号时需要进行转义处理。


     python的双引号和单引号基本没有区别,都是获取原始字符串,都支持转义,可以根据实际情况使用单引号或者双引号。python还有个三个引号字符串,能够支持直接无转义换行。


以上是关于Perl和python命令行参数的区别的主要内容,如果未能解决你的问题,请参考以下文章

如何让 perl 正确传递具有多个参数和复杂文件路径(空格和符号)的命令行参数?

Perl 不接收命令行参数?

如何将强制和可选命令行参数传递给 perl 脚本?

春节特供小白学perl之命令行参数

具有带空格的命令行参数的 Perl 脚本

如何在 Perl 中将命令行参数视为 UTF-8?