关于python优雅获取本机的信息

关于python优雅获取本机的信息import socket

本文目录一览:

python怎么获取本机ip

import socket

def get_ip():

    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    try:

        # doesn’t even have to be reachable

        s.connect((‘10.255.255.255’, 0))

        IP = s.getsockname()[0]

    except:

        IP = ‘127.0.0.1’

    finally:

        s.close()

    return IP

linux、windows均测试通过

关于python优雅获取本机的信息

python如何获取本机安装的多个摄像头?

python一般要与摄像头等硬件交互时,要用到ctypes模块引用摄像头sdk开发包中的dll,根据开发包中的函数说明文档来调用函数即可实现。例如:

import ctypes

libc=ctypes.CDLL(‘libc.dylib’)

libc.atoi()输出12345

Python怎么取到本机所有安装的软件?

windows系统会在两个地方记录软件列表:

64位:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

32位:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall

这两个注册表存储的软件会重复,所以我们还要去重

我们使用python的标准库_winreg来获取软件安装列表,并输出到文件中,代码如下:

#!/usr/bin/python

import os

import socket

import _winreg

#将软件安装列表输出到网盘上

os.system(r’net use p: \\10.0.0.6\public password /user:Lc\tanjun’)

#使用主机名命名软件安装列表

hostname = socket.gethostname()

file = open(r’P:\todo\temp\%s.txt’ % hostname, ‘a’)

#需要遍历的两个注册表

sub_key = [r’SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall’, r’SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall’]

software_name = []

for i in sub_key:

    key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, i, 0, _winreg.KEY_ALL_ACCESS)

    for j in range(0, _winreg.QueryInfoKey(key)[0]-1):

        try:

            key_name = _winreg.EnumKey(key, j)

            key_path = i + ‘\\’ + key_name

            each_key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, key_path, 0, _winreg.KEY_ALL_ACCESS)

            DisplayName, REG_SZ = _winreg.QueryValueEx(each_key, ‘DisplayName’)

            DisplayName = DisplayName.encode(‘utf-8’)

            software_name.append(DisplayName)

        except WindowsError:

            pass

#去重排序

software_name = list(set(software_name))

software_name = sorted(software_name)

for result in software_name:

    file.write(result + ‘\n’)

python 怎么获取本机的外网ip

import socket

hostname = socket.gethostname()

print hostname

LuciferYang.local

ip = socket.gethostbyname(hostname)

print ip

10.101.8.171

ipList = socket.gethostbyname_ex(hostname)

print ipList

(‘luciferyang.local’, [], [‘10.101.8.171’])

理论上,不是服务器的话不用有直接外网IP到机器,办公室环境或者家庭环境都是局域网环境,外网IP都在路由器上面

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/23224.html

(0)
上一篇 2023-11-27
下一篇 2023-11-27

相关推荐

  • SQL必知必会,带你系统学习「建议收藏」

    SQL必知必会,带你系统学习「建议收藏」你一定听说过大名鼎鼎的Oracle、MySQL、MongoDB等,这些数据库都是基于一个语言标准发展起来的,那就是SQL。 SQL可以帮我们在日常工作中处理各种数据,如果你是程序员、产品经理或者是运营

    2023-04-10
    141
  • 理解编程中的节点及其作用

    理解编程中的节点及其作用在编程中,节点是一种十分重要的概念。节点是程序中的基本单元,用于描述一个数据的特定状态或一种操作的执行情况等。节点通过连接组合在一起,形成一个完整的程序逻辑。本文将从不同角度来详细阐述节点的作用及其相关内容。

    2024-01-09
    153
  • 【大白话 mysql】mysql 事务与日志原理「终于解决」

    【大白话 mysql】mysql 事务与日志原理「终于解决」在后端面试中,mysql是比不可少的一环,其中对事务和日志的考察更是"重灾区", 大部分同学可能都知道mysql通过redolog、binlog和undolog保证

    2023-04-13
    141
  • 初学Redis(五)–SpringBoot整合Redis+附项目代码「终于解决」

    初学Redis(五)–SpringBoot整合Redis+附项目代码「终于解决」1.环境搭建 我们还是继续用在初学Redis(四)中使用的项目 项目代码 链接:https://pan.baidu.com/s/1yiwBs1RZlD6D2jqc-qxUzQ 提取码:kzz3 1….

    2023-02-22
    139
  • Python dictionaries: 提高数据处理效率和减轻代码复杂度

    Python dictionaries: 提高数据处理效率和减轻代码复杂度在Python中,字典是一种可变容器,其中的元素可以使用键来访问。它们是Python中最常用的数据结构之一,因为它们提供了快速、有效的查找功能,并且可以帮助我们降低代码复杂度。这篇文章将深入探讨Python字典的各种细节,以及如何使用它们来提高数据处理效率和减轻代码复杂度。

    2024-03-18
    67
  • Sqlite—查询语句(Select)「建议收藏」

    Sqlite—查询语句(Select)「建议收藏」基本语法如下 sqlite> select * from tb_user; sqlite> select userid,username from tb_user; 格式化的查询输出 sq

    2022-12-23
    147
  • 触发器的概念及其语法/创建触发器/查看以及删除「终于解决」

    触发器的概念及其语法/创建触发器/查看以及删除「终于解决」触发器可以简单理解一种特殊的存储过程,之前存储过程的变量定义及流程语句同样适合触发器,唯一不同的是我们只需要定义触发器,而不用手动调用触发器。从事件触发的角度来说,触发器编写的过程就是触发事件定义的…

    2023-03-30
    154
  • 使用pip升级Python库的命令

    使用pip升级Python库的命令Python是一种高级编程语言,它具有开源性、跨平台性、易于学习和理解等特点,已经被广泛应用于数据分析、机器学习、人工智能等领域。Python库则是Python编程的一个重要组成部分,它们提供了许多常用的函数和模块,帮助Python程序员解决问题和完成任务。然而,随着技术的更新和改进,Python库也需要不断升级以追赶时代的步伐。而pip则是Python自带的包管理器,可以帮助Python程序员下载和升级Python库。

    2024-07-03
    32

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注