python标准库之sys模块 学习

通过这节学习来知道如何在linux下执行python代码

sys是system的缩写,用来获取操作系统和编译器的一些配置,设置及操作

我们要充分的理解他最好是在linux的环境下进行测试

sys.argv[0] ,返回的是代码所在文件的路径

[[email protected] ~]$ vi test.py
[[email protected] ~]$ python3 test.py
test.py
[[email protected] ~]$ cat test.py
import sys
print(sys.argv[0])

sys.argv[1],   返回的是代码后的第一个参数 ,以此类推

[[email protected] ~]$ vi test.py
[[email protected] ~]$ python3 test.py 1 2 3 4
test.py 1
[[email protected] ~]$ cat test.py
import sys
print(sys.argv[1])

通过两个代码也就清晰的看出来了argv的用处与用法

下面的代码可以体现出sys.argv的应用

import sys
def readfile(filename):
    f=open(filename)
    while True:
        line=f.readline()
        if len(line)==0:
            break
        print(line)
    f.close()
print(sys.argv)
print(sys.argv[0])

if len(sys.argv)<2:
    print(" no action specified")
    sys.exit()
if sys.argv[1].startswith("--"):
    option=sys.argv[1][2:]
    #fetch sys.argv[1] but without the first two characters
    if option=="version": #当命令行参数为--version,显示版本号
        print("Version 1.2")
    elif option=="help":#当命令行参数为--help,显示帮助内容
        print("")
    else:
        print("Unknown option")
    sys.exit()
else:
    for filename in sys.argv[1:]:#当参数为文件名时,传入readfine,读出其内容
        readfile(filename)

注意最好都要在linux的运行环境下才可以看出效果

[[email protected] ~]$ python3 test.py --version
[‘test.py‘, ‘--version‘]
test.py
Version 1.2
[[email protected] ~]$ python3 test.py --help
[‘test.py‘, ‘--help‘]
test.py
时间: 2024-11-05 15:00:25

python标准库之sys模块 学习的相关文章

Python标准库之sys模块

获取Python解释器的版本信息 import sys print(sys.version) #输出 3.6.5 (v3.6.5:f59c0932b4, Mar 28 2018, 17:00:18) [MSC v.1900 64 bit (AMD64)] 获取命令行参数 import sys print(sys.argv) #命令行模式 C:\Users\admin\PycharmProjects\module>python main.py admin passwd ['main.py', 'a

Python标准库之collections模块

本文后大家啊分享的主要是python 标准库的collections 模块,一起来看看吧,希望对大家 学习python有所帮助.. 这个模块提供几个非常有用的Python 容器类型 1.容器 2.OrderedDict OrderedDict  类似于正常的词典,只是它记住了元素插入的顺序,当迭代它时,返回它会根据插入的顺序返回. ·  和正常字典相比 , 它是 " 有序 " 的 ( 插入的顺序 ) . from collections import OrderedDict dict1

Python标准库系列之模块默认全局变量

当我们创建了一个自己写的模块后,那么这个模块本身就自带了好几个全局变量,这些全局变量在每个文件中都存在. 查看当前py文件的全局变量 [[email protected] ~]# echo 'print(vars())' > scripts.py       [[email protected] ~]# python scripts.py  {'__builtins__': <module '__builtin__' (built-in)>, '__name__': '__main__'

Python标准库之logging模块

很多程序都有记录日志的需求,并且日志中包含的信息即有正常的程序访问日志,还可能有错误.警告等信息输出,python的logging模块提供了标准的日志接口,你可以通过它存储各种格式的日志,logging的日志可以分为 debug().info().warning(). error() .critical() 5个级别. import logging logging.debug("debug message")logging.info("Input user/passwd&qu

2. Python标准库urllib.request模块_2(python3)

参考学习地址:http://www.iplaypython.com # coding:utf-8 # 学习1 import urllib.request # print(dir(html)) # 获取网页所在的header信息 url="http://www.iplaypython.com/" html=urllib.request.urlopen(url) # 获取网站返回的状态码 code = html.getcode() print("返回的状态码: %s"

Python标准库之os模块

1.删除和重命名文件 import os import string def replace(file, search_for, replace_with): # replace strings in a text file back = os.path.splitext(file)[0] + ".bak" (1) temp = os.path.splitext(file)[0] + ".tmp" try: # remove old temp file, if an

python标准库:datetime模块

原文地址:http://www.bugingcode.com/blog/python_datetime.html datatime 模块题共用一些处理日期,时间和时间间隔的函数.这个模块使用面向对象的交互取代了time模块中整形/元组类型的时间函数. 在这个模块中的所有类型都是新型类,能够从python中继承和扩展. 这个模块包含如下的类型: datetime代表了日期和一天的时间 date代表日期,在1到9999之间 time 代表时间和独立日期. timedelta 代表两个时间或者日期的间

python标准库之random模块

Python中的random模块用于生成随机数. 下面具体介绍random模块的功能: 1.random.random() #用于生成一个0到1的 随机浮点数:0<= n < 1.0 1 import random 2 a = random.random() 3 print (a) 2.random.uniform(a,b) #用于生成一个指定范围内的随机符点数,两个参数其中一个是上限,一个是下限.如果a > b,则生成的随机数n: a <= n <= b.如果 a <

Python标准库之shelve模块(序列化与反序列化)

shelve模块是一个简单的key,value将内存数据通过文件持久化的模块,可以持久化任何picklel可支持的Python数据格式. 序列化 序列化源代码: import shelve import os f = shelve.open("shelve_log") d = {'1':'a','2':'b'} def test(): return os.system("calc") f['dict'] = d f['func'] = test f.close()