python 练习1资产信息扫描

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 练习1资产信息扫描相关的知识,希望对你有一定的参考价值。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/10/24 0024 11:31
# @Author  : ming
import json
import copy
location = "R00L00"   # 默认位置
dict = {}   #定义一个空字典,存储每次扫描的内容
list = []  # 定义一个列表,存储所有扫描内容
file = raw_input("Please Enter A Filename:")  # 输入文件名称
filename = (file + ".txt")   #  文件名称
flag = True  #  用于跳出循环使用
while flag:
    Assets = raw_input("Please enter the asset number[Press Q to quit]:")  # 用户输入
    if Assets.startswith("R"):  # 判断是否为位置
        location = Assets
        continue   #  如果为位置,下一次循环
    elif Assets.lower() == "q":  #  判断是否退出
        print "\nExit successfully. Asset saved current directory: %s" % file
        break  #  退出程序
    else:
        for i in list:    # 判断是否重复
            if i["name"] == Assets:   #  循环总列表
                print ">>> %s Asset information repetition, Save OLD <<<" % i["name"]
                flag = False
                break
        if flag == False:
            flag = True
            continue  #  重复之后跳出父循环
        asset = Assets
    dict["name"] = asset  #  资产复制给空字典
    dict["weizhi"] = location   #  位置复制给空字典
    dict_deep = copy.deepcopy(dict)  #  深拷贝
    list.append(dict_deep)  #  扫描的内容添加进列表
    f = open(filename, ‘a‘)  #  打开新建立的文件
    line = json.dumps(dict_deep["name"]) + ":" + json.dumps(dict_deep["weizhi"])  # 当前扫描的内容
    f.writelines(line + "\r\n")  # 写入文件
    print ("Success To Add Assets: %s  Locat: %s" % (dict_deep["name"], dict_deep["weizhi"]))  # 打印成功
    f.close()  #关闭文件
if Assets.lower() == "q":
    raw_input("\nInput [Enter] exit")


本文出自 “学无止境” 博客,请务必保留此出处http://20120809.blog.51cto.com/10893237/1975662

以上是关于python 练习1资产信息扫描的主要内容,如果未能解决你的问题,请参考以下文章

Python大法之告别脚本小子系列—信息资产收集类脚本编写(下)

CMDB小练习

Leetcode练习(Python):链表类:第92题:反转链表 II:反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。

github小工具之Banli

github小工具之Banli

发现和分类网络资产