首页 > 系统相关 >PowerShell系列(二):PowerShell和Python之间的差异介绍

PowerShell系列(二):PowerShell和Python之间的差异介绍

时间:2023-05-23 23:01:01浏览次数:34  
标签:脚本 系列 语言 Python 第三方 Windows PowerShell

今天给大家聊聊PowerShell和Python之间有哪些共同之处,各自有哪些优势,希望对运维的朋友了解两种语言能提供一些有用的信息。

1、  Python定义

PowerShell系列(二):PowerShell和Python之间的差异介绍_Python

Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU General Public License)协议。Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。

2、Python用途

数据科学及人工智能:Python是数据科学和人工智能领域中最流行的语言之一,因为它具有许多强大的库和工具,如NumPy、Pandas、Matplotlib、Scikit-learn和Tensorflow等。

科学计算:Python在科学计算领域也有广泛应用,因为它提供了各种数学和统计计算库,如SciPy、SymPy和Pandas等。

游戏开发:Python可以轻松地与游戏引擎和图形库集成,使游戏开发变得更加容易。

网站开发:Python常用于服务器端和网站开发,它具有许多Web框架,如Django和Flask等。

系统管理:Python是系统管理员的首选语言之一,因为它可以轻松地编写脚本来自动化各种任务。

3、  PowerShell定义

PowerShell系列(二):PowerShell和Python之间的差异介绍_Python_02

PowerShell是一种跨平台的任务自动化和配置管理框架,它集成了命令行shell和脚本语言,并能够运行在Windows、Linux和macOS等多个操作系统上。它的命令语言基于.NET框架和Windows PowerShell核心实现,提供了丰富的命令集和扩展性

4、PowerShell用途

PowerShell主要用于文件件和文件夹管理,服务器配置和管理,网络管理,系统日志管理,安全性设置,以及许多其他的自动化和脚本任务。

5、PowerShell和Python对比

5.1 共同点

● 两者都属于解释型语言,都是边解释边执行。

● 都支持跨平台

● 都可以作为自动化运维脚本语言

5.2 不同点

01 执行环境方面

Python:需要安装Python解释环境才可以解释运行。

PowerShell:针对Windows客户端和服务器,默认都集成好了。当然其他平台的话需要安装运行环境。

02 解释环境方面

Python:版本之间兼容性较差,有一些第三方依赖包需要指定Python版本才可以执行。

PowerShell:针对Windows来说默认都是服务器指定的版本。低版本可以很好被高版本的解释环境执行。

03 第三方依赖包方面

Python:需要使用pip install 安装第三方库,然后在代码当中引入第三方库,就可以调用其中的方法。Python第三方库非常多,因为开发者众多,有非常丰富的依赖库可以直接使用。

PowerShell:一般通过在线或者离线安装,并且PowerShell3.0之后支持不需要引入模块,系统会自动根据执行命令代码自动加载需要的第三方库内的方法函数。第三方库的数量比Python少很多,相比Python来说开发者也少很多。所以精通Powershell程序员还是比较稀缺的。

04 IDE方面

Python:常见的有yCharm、Spyder、VS Code、Sublime Text 、Atom、Jupiter等等

PowerShell:最常用的就是PowerShell ISE、PowerShell Studio、VS Code等。

05 执行方式方面

Python:一般都是将脚本进行保存,再调用Python环境运行脚本。

PowerShell:脚本保存为.psl格式,调用PowerShell环境进行执行,可以很好的和C#进行集成。

06命令自动补全

Python:需要使用import导入库之后,才可以有命令补全功能,快速编写代码。

PowerShell:自动把所有模块进行轮询,会自动加载所有符合规则的命令。

6、总结

目前Python最火的编程语言,完整的生态、丰富的第三方资源库、丰富的社区文档教程,是目前人工智能、算法、数据处理分析等方面它属于最棒的编程语言,当然PowerShell作为微软官方推出的解释性语言,作为系统自动化运维脚本、数据处理分析语言还是非常值得学一学的。想对来说PowerShell目前的就业竞争小很多,未来还是非常有潜力的。

标签:脚本,系列,语言,Python,第三方,Windows,PowerShell
From: https://blog.51cto.com/itShareArea/6335287

相关文章

  • Python实验课4
    实验一实验源码1print(sum)2sum=423print(sum)45definc(n):6sum=n+17print(sum)8returnsum910sum=inc(7)+inc(7)11print(sum)实验截图实验二task2.1Python实验源码1deffunc1(a,b,c,d,e,f):2return[a,......
  • Python变量内存管理
    变量三个组成部分:1变量名:反应变量值所描述的意义,并且可以用来引用变量值。2赋值符号:赋值。3变量值:存放数据,用来记录现实世界中的某种状态。常量计算机语言便设计了常量这个概念,也就是说常量相对于变量是一个不会变化的量。在Python中,虽然也和其他很多计算机语言一样拥有常量......
  • 深入理解 python 虚拟机:花里胡哨的魔术方法
    深入理解python虚拟机:花里胡哨的魔术方法在本篇文章当中主要给大家介绍在cpython当中一些比较花里胡哨的魔术方法,以帮助我们自己实现比较花哨的功能,当然这其中也包含一些也非常实用的魔术方法。深入分析hash方法在Python中,__hash__()方法是一种特殊方法(也称为魔术方法......
  • Python - yarl
    https://www.jb51.net/article/265713.htmhttps://blog.csdn.net/lly1122334/article/details/127493377......
  • python:Error: EPERM: operation not permitted, mkdir 'F:\Program Files\nodejs\
     可以发现文件没有权限npmERR!Error:EPERM:operationnotpermitted,mkdir'F:\ProgramFiles\nodejs\node_global\node_modules'将nodejs的文件权限改为完全控制之后操作即可 ......
  • Tkinter 中隐藏和取消隐藏第二窗口窗口 – Python,用于多界面窗口程序
    在Tkinter中隐藏和取消隐藏窗口–Python先决条件: TkinterPython为开发GUI(图形用户界面)提供了多种选择。在所有GUI方法中,Tkinter是最常用的方法。它是Python附带的TkGUI工具包的标准Python接口。PythonwithTkinter是创建GUI应用程序的最快、最简单的方法。使......
  • Python学习
    3-13字符串类型字符串类型:str   1.定义格式:       变量='内容'           打印一行       变量="内容"           打印一行       变量='''内容'''或者三引号           可以通过回车的方式换行,且打印出......
  • Python函数
    1.函数函数是什么?函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法。在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里......
  • 【面试系列5】JUC
    并行与并发并行:多个机器同时执行并发:一个机器分时执行Future接口定义了操作异步任务执行的一些方法,获取异步任务执行的结果,取消任务的执行,判断任务是否被取消,判断任务执行完毕。多线程/有返回/异步任务classMyThread2implementsCallable<String>{@Overridepu......
  • python生成13位或16位时间戳以及反向解析时间戳
    importdatetimeimporttimedefget_float_time_stamp():datetime_now=datetime.datetime.now()returndatetime_now.timestamp()defget_time_stamp16():#生成16时间戳eg:1540281250399895-lndatetime_now=datetime.datetime.now()print(datetim......