python--sys模块

sys模块:全称system,指的是解释器(os指的是操作系统)
常用操作,用于接收系统操作系统调用解释器传入的参数

-sys.argv 命令行参数List,第一个元素是程序本身路径
-sys.exit(n) 退出程序,正常退出时exit(0)
-sys.version 获取Python解释程序的版本信息
-sys.maxsize 最大的Int值
-sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
-sys.platform 返回操作系统平台名称

import os
import sys
print(sys.argv)
#获取脚本名称  sys.argv[0]
#获取脚本传递的第一个参数  sys.argv[1]
#获取脚本传递的第二个参数  sys.argv[2]


print(sys.version[:3])

#作用, 根据python版本编写符合不同版本的程序, 使得程序可兼容;
if sys.version[0] == '2':
    print("running in python2.......")
elif sys.version[0] == '3':
    print("running in python3........")

print(sys.maxsize)
print(sys.path)


#可以实现跨平台;
print(sys.platform)
if sys.platform == 'linux':
    os.system('ifconfig')
else:
    os.system('ipconfig')

实现mydiff命令

import difflib
import sys

if len(sys.argv) != 3:
    print("""
      Usage: %s   比较的文件1  比较的文件2  [>导出的文件路径 ]     
    """ %(sys.argv[0]))
else:
    filename1 = sys.argv[1]
    filename2 = sys.argv[2]
    try:
        with open(filename1) as f1, open(filename2) as f2:
            content1 = f1.read().splitlines(keepends=True)
            content2 = f2.read().splitlines(keepends=True)
    except Exception as e:
        print("比较错误, 错误原因: ", e)
    else:
        d = difflib.HtmlDiff()
        htmlContent = d.make_file(content1, content2)
        print(htmlContent)

在命令行下执行下列命令

cp /home/kiosk/PycharmProjects/20181117/1.16/07_实现mydiff命令.py /usr/local/bin/mydiff
chmod +x /usr/local/bin/mydiff 
mydiff /etc/passwd /tmp/passwd > /tmp/hello.html
cd /usr/local/bin/
vim hello.html 		#查看重定向的文件

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_37206112/article/details/86519932