Python 判断当前操作系统的几种方法

本文介绍 Python 判断操作系统的3种方法。以下的方法将分为这几部分:

  • Python os.name
  • Python sys.platform
  • Python platform.system()

Python os.name

Python 判断操作系统的方法可以使用 os.name,这里以 Python 3 为例,os.name 会返回 posixntjava 这几种结果。使用前需要先 import os

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
print(os.name)# 在 Ubuntu 16.04 上的输出如下:
# posix# 在 MacOS 10.15.7 上的输出如下:
# posix# 在 Windows 10 上的输出如下:
# nt

os 模块下还有另一个 uname() 函数可以使用,uname() 会返回操作系统相关的版本信息。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import os
print(os.uname())# 在 Ubuntu 16.04 上的输出如下:
# sysname='Linux', nodename='shengyu', release='4.10.0-40-generic', version='#44~16.04.1-Ubuntu SMP Thu Nov 9 15:37:44 UTC 2017', machine='x86_64'# 在 MacOS 10.15.7 上的输出如下:
# posix.uname_result(sysname='Darwin', nodename='shengyudeMacBook-Pro.local', release='19.6.0', version='Darwin Kernel Version 19.6.0: Thu Sep 16 20:58:47 PDT 2021; root:xnu-6153.141.40.1~1/RELEASE_X86_64', machine='x86_64')# Windows 下没有 os.uname()

sys.platform 有更细的分类,下一节会介绍。

Python sys.platform

sys.platform 返回的结果有以下几种情况:

  • AIX: 'aix'
  • Linux: 'linux'
  • Windows: 'win32'
  • Windows/Cygwin: 'cygwin'
  • macOS: 'darwin'

如果要用 sys.platform 判断操作系统,可以使用 startswith(),像 linuxlinux2 的情况就可以被包含在以 linux 开头的字符串,写在同一个条件式里。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import sysif sys.platform.startswith('linux'):print('Linux')
elif sys.platform.startswith('darwin'):print('macOS')
elif sys.platform.startswith('win32'):print('Windows')

Python platform.system()

Python 判断操作系统的方法可以使用 platform.system() 函数,platform.system() 会返回操作系统的名称,例如:LinuxDarwinJavaWindows 这几种。如果无法判断操作系统的话会返回空字符串。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import platformprint(platform.system())
print(platform.release())# 在 Ubuntu 16.04 上的输出如下:
# Linux
# 4.10.0-40-generic# 在 MacOS 10.15.7 上的输出如下:
# Darwin
# 19.6.0# 在 Windows 10 上的输出如下:
# Windows
# 10

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/783624.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于java+SpringBoot+Vue的网上书城管理系统设计与实现

基于javaSpringBootVue的网上书城管理系统设计与实现 开发语言: Java 数据库: MySQL技术: SpringBoot MyBatis工具: IDEA/Eclipse、Navicat、Maven 系统展示 前台展示 后台展示 系统简介 整体功能包含: 网上书城管理系统是一个基于互联网的在线购书平台&#…

文献学习-23-MRM:用于遗传学医学图像预训练的掩码关系建模

MRM: Masked Relation Modeling for Medical Image Pre-Training with Genetics Authors: Qiushi Yang, Wuyang Li, Baopu Li, Yixuan Yuan Source: ICCV 2023 Abstract: 关于自动多模态医疗诊断的 ODERN 深度学习技术依赖于大量的专家注释,这既耗时又令人望而却…

【Spring MVC】快速学习使用Spring MVC的注解及三层架构

💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:【Spring MVC】快速学习使用Spring MVC的注解及三层架构 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 Spring Web MVC一: 什么是Spring Web MVC&#xff1…

何时应用 RAG 与微调

充分发挥 LLM 的潜力需要在检索增强生成(RAG)和微调之间选择正确的技术。 让我们来看看何时对 LLM、较小的模型和预训练模型使用 RAG 与微调。我们将介绍: LLM 和 RAG 的简要背景RAG 相对于微调 LLM 的优势何时针对不同模型大小对 RAG 进行…

python 贪吃蛇

main.py #!/usr/bin/env python3 # -*- coding: utf-8 -*-import pygame # 导入pygame模块from setting import Setting import startmain as sm from pygame.sprite import Groupdef InitGame():print("InitGame")pygame.init() #初始化pygameai_settings Se…

【图轮】【 最小生成树】【 并集查找】1489. 找到最小生成树里的关键边和伪关键边

本文涉及知识点 图轮 最小生成树 并集查找 关键边 1489. 找到最小生成树里的关键边和伪关键边 给你一个 n 个点的带权无向连通图,节点编号为 0 到 n-1 ,同时还有一个数组 edges ,其中 edges[i] [fromi, toi, weighti] 表示在 fromi 和 to…

书生·浦语全链路开源开放体系 第二期

文章目录 大模型背景大模型开发流程InternLM 2.0SFT与RLHFInternLM2主要亮点 书生浦语全链路开源开放体系数据-书生万卷InternLM-Train微调 XTuner评测工具 OpenCompass部署 LMDeploy智能体 Lagent智能体工具箱 AgentLego 大模型背景 专用模型:针对特定的任务&…

【Web】NSSCTF Round#20 Basic 个人wp

目录 前言 真亦假,假亦真 CSDN_To_PDF V1.2 前言 感谢17👴没让我爆零 真亦假,假亦真 直接getshell不行,那就一波信息搜集呗,先开dirsearch扫一下 扫的过程中先试试常规的robots.txt,www.zip,shell.phps,.git,.sv…

使用Docker Compose一键部署前后端分离项目(图文保姆级教程)

一、安装Docker和docker Compose 1.Docker安装 //下载containerd.io包 yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm //安装依赖项 yum install -y yum-utils device-mapper-persistent-data l…

求整数各个数位上的数字之和 C语言

对于任意输入的整数&#xff0c;计算其各个数位上的数字之和。 输入格式 输入一个正整数 N。 输出格式 输出 N 的各个位上的数字之和。 数据范围 1 < N < 2^31 #include <stdio.h> #include <stdlib.h> int shu(int x){ int sum0; while(x>0)…

百度云加速方法「Cheat Engine」

加速网盘下载 相信经常玩游戏的小伙伴都知道「Cheat Engine」这款游戏内存修改器&#xff0c;它除了能对游戏进行内存扫描、调试、反汇编 之外&#xff0c;还能像变速齿轮那样进行本地加速。 这款专注游戏的修改器&#xff0c;被大神发现竟然还能加速百度网盘资源下载&#xf…

c++前言

目录 1. 什么是 C 2. C 发展史 3. C 的重要性 4. 如何学习 C 5. 关于本门课程 1. 什么是C C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复杂的问题&#xff0c;规模较大的 程序&#xff0c;需要高度的抽象和建模时&#xff0c; C 语言则不合适…

【JavaParser笔记01】JavaParser解析Java源代码中的类信息(javadoc注释、类​​​​​​​名称)

这篇文章,主要介绍如何使用JavaParser解析Java源代码中的类信息(javadoc注释、类名称)。 目录 一、JavaParser依赖库 1.1、引入依赖 1.2、获取类注释信息

【Python进阶(一)】——异常与错误

&#x1f349;CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一&#xff5c;统计学&#xff5c;干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项&#xff0c;参与研究经费10w、40w级横向 文…

python | 输出n位数的各位位数

xinput(请输入一位n位数:)print(*map(int,x)) 在Python中&#xff0c;input() 函数接收用户的输入并返回一个字符串。当你执行 x input(请输入一位n位数:) 时&#xff0c;x 将包含用户输入的字符序列。 接下来&#xff0c;map(int, x) 会对字符串 x 中的每一个字符应用 int 函…

【uC/OS-III篇】uC/OS-III 移植到 STM32 简明教程

uC/OS-III 移植到 STM32 简明教程 一、uC/OS-III 介绍 二、获取UCOS-III源码 三、建立项目工程 四、解决工程编译报错 五、修改项目文件 下一篇博客&#xff1a; 【uC/OS-III篇】uC/OS-III 创建第一个任务&#xff08;For STM32&#xff09; 移植后的工程自取方式&#xf…

玩转Django分页器

一、Pagination 分页器编程步骤 View, 导入django.core.paginator.Paginator类&#xff0c;创建Paginator 对象时&#xff0c;输入qs对象&#xff0c;以及每页显示条数。 接收 URL, 从请求参数中读取page数值 &#xff0c;通过 paginator.page(page_num) 返回请求页的page_obj…

从 PG 技术峰会南京站汲取的那些干货

3月30日下午&#xff0c;“PostgreSQL 数据库技术峰会”南京站圆满举办。 这场峰会同步在线上直播&#xff0c;近 2000 人在线观看。 感谢各位大佬带来精彩演讲。 1. 可观测性 第一场正式演讲是白鳝前辈带来的《PostgreSQL 数据库的可观测性能力》。 数据库的可观测性的重要性不…

Mysql数据库:MHA高可用架构

目录 前言 一、MHA概述 1、什么是MHA 2、MHA的特点 3、MHA的组成 4、MHA的工作原理 5、故障切换备选主库的算法 二、部署MHA高可用架构 1、环境部署 2、部署主从同步 2.1 修改主配置文件并创建软链接 2.1.1 master 修改主配置文件并创建软连接 2.1.2 slave1 修改主…

os模块篇(四)

专栏目录 文章目录 专栏目录os.setregid(rgid, egid, /)os.setreuid(ruid, euid, /)os.getsid(pid, /)os.setsid()os.setuid(uid, /)os.strerror(code, /)os.umask(mask, /)os.uname()os.unsetenv(key, /)os.unshare(flags) os.setregid(rgid, egid, /) os.setregid(rgid, egi…