Python 使用特殊命令iceweasel(debian的FirefoxWebBrowser)执行脚本

Python 使用特殊命令iceweasel(debian的FirefoxWebBrowser)执行脚本,python,Python,我有一个问题,我想执行我的python脚本,但使用如下特殊命令: iceweasel 'info.py server.py path_install.py' 必须在客户端上键入此命令,然后打开包含以下信息的页面: info.py (= os and ip of client) server.py path_install.py 但我真的不明白从哪里开始…需求审查 看起来,你想: 从命令行调用程序 传入任意数量的python文件名 对于每个python文件,打印有关该文件的一些详细信息 概

我有一个问题,我想执行我的python脚本,但使用如下特殊命令:

iceweasel 'info.py server.py path_install.py'
必须在客户端上键入此命令,然后打开包含以下信息的页面:

info.py (= os and ip of client)
server.py
path_install.py
但我真的不明白从哪里开始…

需求审查 看起来,你想:

  • 从命令行调用程序
  • 传入任意数量的python文件名
  • 对于每个python文件,打印有关该文件的一些详细信息
概念
  • 使用
    docopt
    进行命令行参数解析(
    argparse
    plac
    和其他方法也是可选的)
  • 打印一些关于该文件的信息(因为不太清楚,您想报告哪些Python文件的详细信息-可以随意修改)
iceweasel.py
调用不带参数的命令:

$ python iceweasel.py
Usage:
    iceweasel.py <pythonfile>...
    iceweasel.py -h
使用通配符将其用于多个文件:

$ python iceweasel.py ../*.py

    ---- ../camera2xml.py -----
    short name: camera2xml.py
    size: 567
    words: 47


    ---- ../cgi.py -----
    short name: cgi.py
    size: 612
    words: 63


    ---- ../classs.py -----
    short name: classs.py
    size: 485
    words: 44
结论
  • 命令行解析在Python中很容易
    • argparse
      似乎是自2.7版以来Python的标准部分
    • argparse
      可以做很多事情,但需要在许多行上进行相当复杂的调用
    • plac
      是一个很好的选择,在大多数情况下都可以快速服务器
    • docopt
      在我看来是最灵活的,同时也是所需代码行中最短的
  • 如果您不想在每次调用脚本时调用
    python
    ,那么还有其他选择
    • 使用shebang
      #/usr/bin/env python
      作为脚本的第一行,将其设置为可执行,然后甚至可以删除
      .py
      扩展名。仅适用于*nix,不适用于Windows
    • 编写自己的
      setup.py
      ,并指定它来安装脚本。可以在任何地方使用,但需要更多的编码。另一方面,如果您希望更多用户使用该脚本,那么它可能是非常有效的解决方案,因为它可以显著简化安装过程

不清楚您在问什么,但我认为您应该从Python程序的命令行参数开始。请参阅本教程@user3752820是否希望使用另一个名为iceweasel的脚本来执行Python脚本,该脚本将显示有关参数的信息?@Ashokaella:是的,它必须在命令行中使用(与debian一起)。实际上,我必须创建一个脚本。我需要像这样使用此脚本:iceweasel'info.py address_server path_install'此命令必须在iceweasel中打开一个包含一些信息的新页面:path_install客户端操作系统的IP我的主要问题是获得此命令的执行:iceweasel info.py address_server path_install–@user3752820 iceweasel是浏览器(firefox fork)吗?如果是,它只接受URL作为输入参数。所以,是的,它必须在命令行中使用(使用debian)。实际上,我必须创建一个脚本。我需要像这样使用此脚本:iceweasel
info.py address\u server path\u install
此命令必须在iceweasel中打开一个新页面,其中包含一些信息:path\u install客户端操作系统的IP客户端我的主要问题是获取此命令iceweasel
info.py地址\服务器路径\安装
$ python iceweasel.py
Usage:
    iceweasel.py <pythonfile>...
    iceweasel.py -h
$ python iceweasel.py -h
Usage:
    iceweasel.py <pythonfile>...
    iceweasel.py -h

Prints internal details for arbirtary set of <pythonfile> files.
$ python iceweasel.py iceweasel.py 

    ---- iceweasel.py -----
    short name: iceweasel.py
    size: 692
    words: 74
$ python iceweasel.py ../*.py

    ---- ../camera2xml.py -----
    short name: camera2xml.py
    size: 567
    words: 47


    ---- ../cgi.py -----
    short name: cgi.py
    size: 612
    words: 63


    ---- ../classs.py -----
    short name: classs.py
    size: 485
    words: 44