ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Windows本地资源交互

2021-06-02 13:01:55  阅读:203  来源: 互联网

标签:winreg full Windows 交互 section iniFile 本地 path os


  • os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口
  • sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境

运行信息

  • 系统平台sys.platform
  • 解释器版本信息sys.version sys.version_info
  • 当前Unicode实现所使用的默认字符串编码名称sys.getdefaultencoding()
  • 命令行传递参数sys.argv
  • sys.getrefcount()对象引用计数,返回的计数通常比预期的多一,因为它包括了作为getrefcount()参数的这一次临时引用
  • sys.modules将模块名称映射到已加载的模块。可以操作该字典来强制重新加载模块,或是实现其他技巧。但是,替换的字典不一定会按预期工作,并且从字典中删除必要的项目可能会导致Python崩溃
  • sys.path字符串组成的列表,用于指定模块的搜索路径。初始化自环境变量PYTHONPATH,再加上一条与安装有关的默认路径
  • 运行环境变量os.environ

进程管理

  • 模拟传统的UNIX函数发信号给进程(UNIX平台上有效)os.kill(os.getpid(), signal.SIGILL)
  • os.fork()无法在Windows系统中使用,父进程中os.fork()返回子进程pid,子进程中os.fork()返回0
  • os.system通过fork一个子进程,然后该子进程执行命令,阻塞等待子进程结束,返回命令执行结果的返回值
  • os.popen创建一个管道,通过fork一个子进程,然后该子进程执行命令

文件操作

  • 拼接路径os.path.join(dir, path)

  • 新建文件夹os.makedirs(os.path.dirname(file_full_path))

  • 删除文件夹os.rmdir(os.path.dirname(file_full_path))

  • 判断文件夹存在os.path.exists(os.path.dirname(file_full_path))

  • 目录文件列表os.listdir(os.path.dirname(file_full_path))

  • 判断资源类型(是否文件)os.path.isfile(file_full_path)

  • 删除文件os.remove(file_full_path)

  • 移动(重命名)os.rename(src_file_full_path, des_file_full_path)

ini文件解析

  • configparser模块
import configparser


def doini():
    filename = "test.ini"

    # 加载ini
    iniFile = configparser.ConfigParser()
    iniFile.read(filename)

    # 添加或更新节点
    section, key, value = "request", "timeout", "30"
    if not iniFile.has_section(section):
        iniFile.add_section(section)
    iniFile.set(section, key, value)

    # 删除节点
    section, key, value = "request", "retry", "5"
    if iniFile.has_section(section):
        if iniFile.has_option(section, key):
            iniFile.remove_option(section, key)
    if len(iniFile.options(section)) == 0:
        iniFile.remove_section(section)

    # 回写ini
    iniFile.write(open(filename, "w"))


if __name__ == "__main__":
    doini()

注册表操作

  • winreg模块
import winreg


def doreg(regList):
    # root
    root, path = winreg.HKEY_CURRENT_USER, r"ttt\www"
    reg = winreg.CreateKey(root, path)

    try:
        # 添加或更新
        name, value = "host", "sss"
        winreg.SetValueEx(reg, name, 0, winreg.REG_SZ, value)

        # 删除
        name = "port"
        for i in range(0, winreg.QueryInfoKey(reg)[1]):
            if (winreg.EnumValue(reg, i)[0] == name):
                winreg.DeleteValue(reg, name)
                break
    except Exception as e:
        raise e
    finally:
        winreg.CloseKey(reg)

标签:winreg,full,Windows,交互,section,iniFile,本地,path,os
来源: https://blog.csdn.net/weixin_37702639/article/details/117464840

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有