转载自: http://blog.163.com/weak_time/blog/static/25852809120169333247925/

Python的命令行参数,提供了很多有用的功能,可以方便调试和运行,通过man python就能查看,

以下是一些常用参数使用实例和场景:

 
1. -B参数,在import时候,不产生pyc或者pyo文件:
比如有a.py,内容如下:
def hello():
pass

main.py,会引用a.py中的hello函数:

from a import hello

if __name__ == '__main__':
print hello

使用python -B main.py就不会产生a.pyc文件

 
2. -c 参数,直接运行python语句,比如:
python -c "print 'Hello world'"

或者测试安装的包是否可以成功引用,可以使用import语句尝试:

python -c "import requests;print dir(requests)"

3. -i 参数,运行完python脚本文件以后打开一个python环境,方便查看运行结果,比如:

from a import hello

a = 1

if __name__ == '__main__':
print hello

使用-i参数:

python -i main.py
<function hello at 0x101409c08>
>>> a
1

4. -m 参数,将模块按照脚本执行,最常见的用法是:

python -m SimpleHTTPServer 8081

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

 
5. -V 参数,输出Python的版本,或者--version:
python -V
Python 2.7.10
python --version
Python 2.7.10

6. -O 参数,产生一个优化的pyo文件(和-B 参数一起使用无效):

python -O main.py
<function hello at 0x10abb7c08>

这时候会有一个a.pyo文件

 
7. -v 参数,会输出每一个模块引用信息,包括从何处引用的,以及何时被清除的
 
8. -u 参数,在print记录时候很有用,使用这个参数 会强制 stdin, stdout 和 stderr变为无缓冲的,会立刻输出出来,而不是等缓冲区满了才会打印数据。
 
比如如下代码:
from time import sleep

for i in range(10):
print i
sleep(1)

运行时候重定向到一个文件:

python main.py > ok.log

会等到缓冲区满了,或者程序退出了才会真正写入到ok.log

这时候使用 python -u main.py > ok.log 执行,就会每次print后立刻写入文件。

[转载]Python命令行参数学习的更多相关文章

  1. python 命令行参数学习(一)

    用了这么久,还没怎么学习python的命令行参数,是在惭愧. 参考文章地址:http://www.cnblogs.com/jianboqi/archive/2013/01/10/2854726.htm ...

  2. Python命令行参数学习

    man python 查看python的帮助文件 命令行参数:       -B     Don't write .py[co] files on import.              See a ...

  3. python 命令行参数学习(二)

    照着例子看看打打,码了就会.写了个命令行参数调用进行运算的脚本. 参考文章链接:http://www.jianshu.com/p/a50aead61319 #-*-coding:utf-8-*- __ ...

  4. Python命令行参数解析模块getopt使用实例

    Python命令行参数解析模块getopt使用实例 这篇文章主要介绍了Python命令行参数解析模块getopt使用实例,本文讲解了使用语法格式.短选项参数实例.长选项参数实例等内容,需要的朋友可以参 ...

  5. python命令行参数解析OptionParser类用法实例

    python命令行参数解析OptionParser类用法实例 本文实例讲述了python命令行参数解析OptionParser类的用法,分享给大家供大家参考. 具体代码如下:     from opt ...

  6. Python命令行参数及文件读出写入

    看完了柯老板的个人编程作业,虽然是评测组不用做此次作业,但还是想对本次作业涉及到利用Python命令行参数以及进行文件读出写入操作做一个简单的总结.(个人编程作业还是想自己能敲一敲,毕竟我的码力还是小 ...

  7. Python命令行参数sys.argv[]

    学习C语言的时候就没弄明白命令行参数的用法,在学习Pyton 的时候又遇到了命令行参数,在这里稍微学习了一下,稍微明白了一些在这里做个记录方便后面回顾复习. Sys.argv[]是用来获取命令行参数的 ...

  8. [转]Python 命令行参数和getopt模块详解

    FROM : http://www.tuicool.com/articles/jaqQvq 有时候我们需要写一些脚本处理一些任务,这时候往往需要提供一些命令行参数,根据不同参数进行不同的处理,在Pyt ...

  9. python命令行参数

    〇.python中对应的argc, argv需要模块:sys参数个数:len(sys.argv)脚本名:    sys.argv[0]参数1:     sys.argv[1]参数2:     sys. ...

随机推荐

  1. js的作用域深入理解

    一.什么是作用域 作用域是指对某一变量和方法具有访问权限的代码空间,Javascript的作用域只有两种:全局作用域和本地作用域,本地作用域是按照函数来区分的(即全局变量和局部变量)) 局部变量:只有 ...

  2. 【设计模式】 模式PK:策略模式VS桥梁模式

    1.概述 我们先来看两种模式的通用类图. 两者之间确实很相似.如果把策略模式的环境角色变更为一个抽象类加一个实现类,或者桥梁模式的抽象角色未实现,只有修正抽象化角色,想想看,这两个类图有什么地方不一样 ...

  3. [Unity]模拟雨水的折射效果

    用GrabPass做的小玩具. 并不是真的计算了折射,只是简单地扰动了uv,对于雨水来说效果已经足够好了. Shader代码: Shader "Unlit/Rain" { Prop ...

  4. 【洛谷 P5110】 块速递推(矩阵加速,分块打表)

    题目链接 掌握了分块打表法了.原来以前一直想错了... 块的大小\(size=\sqrt n\),每隔\(size\)个数打一个表,还要在\(0\text{~}size-1\)每个数打一个表. 然后就 ...

  5. HDU 1312 Red and Black (深搜)

    题目链接 Problem Description There is a rectangular room, covered with square tiles. Each tile is colore ...

  6. bzoj 2321 数学

    首先我们假设两个点(i,j),(i,k)向中间移动一格,且k>j+1,那么我们可以获得的价值为k-j,这样,我们定义每个点的每个星的能量为a[(i,j)]=i*i+j*j,这样这两个点开始的能量 ...

  7. Python 对象模型 -- (转)

    面向对象的纯粹性 在很久很久以前,C++还被称为面向对象语言(现在一般称为多范式通用语言),人们就对C++的面向对象的纯粹性提出了质疑,主要有以下几点: 并非所有的对象都是对象(很拗口?),比如指针本 ...

  8. 代码回滚:Reset、Checkout、Revert 的选择

    git reset.git checkout 和 git revert 是你的 Git 工具箱中最有用的一些命令.它们都用来撤销代码仓库中的某些更改,而前两个命令不仅可以作用于提交,还可以作用于特定文 ...

  9. mysql not null default / default

    not null default 说明不能是NULL, 并设置默认值 default 设置默认值 , 但值也可能是NULL mysql> create table test (id int, n ...

  10. v4l2驱动编写篇【转】

    转自:http://blog.csdn.net/michaelcao1980/article/details/53008418 大部分所需的信息都在这里.作为一个驱动作者,当挖掘头文件的时候,你可能也 ...