python sys模块(基础篇)

我们可以程序中定义一次函数而实现代码重用。我们可以使用模块,从而实现在其他程序中重用很多函数。
模块基本上就是一个包含了所有你定义的函数和变量的文件。为了在其他程序中重用模块,模块的文件名必须以.py为扩展名。
模块可以从其他程序 导入 以便利用它的功能。这也是我们使用Python标准库的方法。

本文,我们将学习如何使用标准库模块:sys模块。。。

using_sys.py文件的内容:

#!usr/bin/env python
import sys
print 'The command line arguments are:'
print 'sys.argv=',sys.argv
for arg in sys.argv:
    print arg

print '\nThe PYTHONPATH is',sys.path
运行结果:
song@ubuntu:~$ python using_sys.py argument1 argument2 argument3
The command line arguments are:
sys.argv= ['using_sys.py', 'argument1', 'argument2', 'argument3']
using_sys.py
argument1
argument2

argument3


The PYTHONPATH is ['/home/song', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']

首先,我们利用import语句 输入 sys模块。基本上,这句语句告诉Python,我们想要使用这个模块。sys模块包含了与Python解释器和它的环境有关的函数。当Python执行import sys语句的时候,它在sys.path变量中所列目录中寻找sys.py模块。如果找到了这个文件,这个模块的主块中的语句将被运行,然后这个模块将能够被你 使用 。注意,初始化过程仅在我们 第一次 输入模块的时候进行。另外,“sys”是“system”的缩写。

sys模块中的argv变量通过使用点号指明:sys.argv   这种方法的一个优势是这个名称不会与任何在你的程序中使用的argv变量冲突。另外,它也清晰地表明了这个名称是sys模块的一部分。sys.argv是一个字符串的 列表 ,包含了 命令行参数 的列表,即 使用命令行传递给你的程序的参数。

如果你使用IDE编写运行这些程序,请在菜单里寻找一个指定程序的命令行参数的方法。

这里,当我们执行python using_sys.py argument1 argument2 argument3的时候,我们使用python命令运行using_sys.py模块,
后面跟着的内容被作为参数传递给程序。Python为我们把它存储在sys.argv变量中。

注意,脚本的名称总是sys.argv列表的第一个参数。所以,在这里,'using_sys.py'是sys.argv[0]、'argument1'是sys.argv[1]、'argument2'是sys.argv[2]以及'argument3'是sys.argv[3]。注意,Python列表从0开始计数,而非从1开始。

sys.path包含输入模块的目录名列表。sys.path的第一个字符串'/home/song'表示当前目录,也是sys.path的一部分。
如果我们通过下列方式,查看sys.path的内容:

>>> import sys
>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
则第一个字符串是空串,该空串也代表当前目录!!!这与PYTHONPATH环境变量含义相同。这意味着你可以直接输入位于当前目录的模块。否则,你得把你的模块放在sys.path所列的目录之一。



原文链接:点击打开链接




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值