Python命令行参数学习

时间:2022-01-16 04:37:54

man python 查看python的帮助文件

命令行参数:
       -B     Don't write .py[co] files on import.
              See also PYTHONDONTWRITEBYTECODE. 

  当使用import的时候,不产生.pyc/.pyo文件

       -c command
              Specify  the command to execute (see
              next section).  This terminates  the
              option  list  (following options are
              passed as arguments to the command).   

   直接指定执行的命令

   举例:python -c 'print "shen"'

       -d     Turn on parser debugging output (for
              wizards only, depending on  compila-
              tion options).

       -E     Ignore  environment  variables  like
              PYTHONPATH and PYTHONHOME that  mod-
              ify the behavior of the interpreter.

       -h ,  -? ,  --help
              Prints the usage for the interpreter
              executable and exits.

-i     When  a  script  is  passed as first
              argument or the -c option  is  used,
              enter interactive mode after execut-
              ing the script or the  command.   It
              does  not  read  the  $PYTHONSTARTUP
              file.  This can be useful to inspect
              global  variables  or  a stack trace
              when a script raises an exception.

  执行完命令、py文件后进入交互模式

  举例:

python -i -c "print 'shen'"
shen
>>>

       -m module-name
              Searches sys.path for the named mod-
              ule  and  runs the corresponding .py
              file as a script.

   在sys.path里的路径里搜索某个模块,并运行相应的.py文件

  将模块按照脚本执行,最常见的用法是:

  python -m SimpleHTTPServer 8081

  在打开浏览器的8081端口,可以用于局域网的简单文件下载服务

       -O     Turn on basic  optimizations.   This
              changes  the  filename extension for
              compiled (bytecode) files from  .pyc
              to  .pyo.   Given twice, causes doc-
              strings to be discarded.

       -OO    Discard docstrings  in  addition  to
              the -O optimizations.

-R     Turn  on  "hash  randomization",  so
              that the hash() values of str, bytes
              and  datetime  objects  are "salted"
              with an unpredictable  pseudo-random
              value.   Although  they  remain con-
              stant within  an  individual  Python
              process,  they  are  not predictable
              between  repeated   invocations   of
              Python.

              This  is intended to provide protec-
              tion against  a  denial  of  service
              caused  by  carefully-chosen  inputs
              that exploit the worst case  perfor-
              mance of a dict construction, O(n^2)
              complexity.                      See
              http://www.ocert.org/advi-
              sories/ocert-2011-003.html       for
              details.

-Q argument
              Division  control; see PEP 238.  The
              argument must be one of  "old"  (the
              default,   int/int   and   long/long
              return an int or long),  "new"  (new
              division semantics, i.e. int/int and
              long/long returns a  float),  "warn"
              (old division semantics with a warn-
              ing for int/int and  long/long),  or
              "warnall"  (old  division  semantics
              with a warning for all  use  of  the
              division  operator).   For  a use of
              "warnall",          see          the
              Tools/scripts/fixdiv.py script.

       -s     Don't  add  user  site  directory to
              sys.path.

       -S     Disable the  import  of  the  module
              site  and the site-dependent manipu-
              lations of sys.path that it entails.

-t     Issue  a  warning when a source file
              mixes tabs and spaces  for  indenta-
              tion  in  a way that makes it depend
              on the worth of a tab  expressed  in
              spaces.   Issue  an  error  when the
              option is given twice.

       -u     Force stdin, stdout and stderr to be
              totally   unbuffered.    On  systems
              where it matters,  also  put  stdin,
              stdout  and  stderr  in binary mode.
              Note that there is internal  buffer-
              ing in xreadlines(), readlines() and
              file-object iterators ("for line  in
              sys.stdin")  which is not influenced
              by  this  option.   To  work  around
              this,   you   will   want   to   use
              "sys.stdin.readline()"   inside    a
              "while 1:" loop.
  对标准输入、输出、错误不进行缓存,直接输出;正常情况下都是等到缓冲区满了或者程序退出了才会打印数据

  举例:test.py内容如下

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 from time import sleep
4 
5 for i in range(10):
6   print i
7   sleep(1)

  python test.py > ok.log  一次性把所有的数字(0~9)写入ok.log中,写一次,因为有缓存

  python -u test.py > ok.log  一次把一个数字写入文件ok.log中,一共写10次

  

-v     Print  a  message each time a module
              is initialized,  showing  the  place
              (filename  or  built-in module) from
              which  it  is  loaded.   When  given
              twice, print a message for each file
              that is checked for  when  searching
              for  a module.  Also provides infor-
              mation on module cleanup at exit.
  会输出每一个模块引用信息,包括从何处引用的,以及何时被清除的

Python命令行参数学习

 


       -V ,  --version
              Prints the Python version number  of
              the executable and exits.

-W argument
              Warning  control.   Python sometimes
              prints    warning     message     to
              sys.stderr.   A typical warning mes-
              sage   has   the   following   form:
              file:line:  category:  message.   By
              default,  each  warning  is  printed
              once  for  each source line where it
              occurs.  This  option  controls  how
              often  warnings are printed.  Multi-
              ple -W options may be given; when  a
              warning   matches   more   than  one
              option,  the  action  for  the  last
              matching    option   is   performed.
              Invalid -W options  are  ignored  (a
              warning  message  is  printed  about
              invalid options when the first warn-
              ing  is  issued).  Warnings can also
              be controlled from within  a  Python
              program using the warnings module.
The simplest form of argument is one
              of the following action strings  (or
              a  unique  abbreviation):  ignore to
              ignore  all  warnings;  default   to
              explicitly   request   the   default
              behavior (printing each warning once
              per  source  line);  all  to print a
              warning each time  it  occurs  (this
              may  generate  many  messages  if  a
              warning is triggered repeatedly  for
              the same source line, such as inside
              a loop); module to print each  warn-
              ing only the first time it occurs in
              each  module;  once  to  print  each
              warning   only  the  first  time  it
              occurs in the program; or  error  to
              raise an exception instead of print-
              ing a warning message.

The  full  form   of   argument   is
              action:message:category:module:line.
              Here, action is as  explained  above
              but  only  applies  to messages that
              match the remaining  fields.   Empty
              fields  match  all  values; trailing
              empty fields may  be  omitted.   The
              message  field  matches the start of
              the warning  message  printed;  this
              match is case-insensitive.  The cat-
              egory field matches the warning cat-
              egory.   This  must be a class name;
              the match test  whether  the  actual
              warning category of the message is a
              subclass of  the  specified  warning
              category.   The full class name must
              be given.  The module field  matches
              the  (fully-qualified)  module name;
              this match is  case-sensitive.   The
              line  field matches the line number,
              where zero matches all line  numbers
              and is thus equivalent to an omitted
              line number.

-x     Skip the first line of  the  source.
              This  is intended for a DOS specific
              hack only.  Warning: the  line  num-
              bers  in  error messages will be off
              by one!

       -3     Warn about Python 3.x incompatibili-
              ties that 2to3 cannot trivially fix.