esai大树聚吧 关注:13贴子:345
  • 12回复贴,共1

如何使用powershell 跑 python

只看楼主收藏回复

1. 在PS光标处输入 python exercise1.py 然后敲回车
注意这里文件名后的 .py 一定不要忘了,忘了就run不出来了。 这里输入文件名称时还是可以用“Tab”键偷个小懒, 而且不会担心丢掉py。
2.输入 python -m pydoc input
pydoc. 这里有一个细小但有助于帮助你更加了解python的一些function的指令,以input function 为例.
3. cls. 输入 cls 可以清除所有输入的东西,使界面恢复到原始状态。
ls
mkdir 003-code
chdir

4. python 执行PowerShell命令以获取内存使用情况和结果
import subprocess
output = subprocess.call(["powershell.exe", "Get-Counter -Counter "+'"\memory\\available mbytes"'+" -MaxSamples 10 -SampleInterval 1"])
try: subprocess.check_output("Get-Counter -Counter "+'"\memory\\available mbytes"'+" -MaxSamples 10 -SampleInterval 1", shell=TRUE)
except subprocess.CalledProcessError, e:
print "subproces CalledProcessError.output = " + e.output
print output

修改点2:
True而不是TRUE在包含\的字符串之前提供"powershell.exe"到check_output和r
5. 非powershell实现上述功能
import psutil
psutil.virtual_memory()
Out[5]: svmem(total=17087684608L, available=8599142400L, percent=49.7, used=8488542208L, free=8599142400L)
psutil.swap_memory()
Out[6]: sswap(total=38059204608L, used=14400655360L, free=23658549248L, percent=37.8, sin=0, sout=0)


IP属地:湖南1楼2022-05-17 11:28回复
    powershell常用命令
    Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework 的强大功能。

    使用Win+Q组合键打开搜索,然后输入PowerShell

    “PowerShell不仅兼容几乎所有的cmd命令,还通过别名的方式兼容部分Linux Shell的命令,如:ls、kill、pwd、history、sleep、cd、rm、rmdir、ps、man,PowerShell命令称为cmdlet,


    IP属地:湖南2楼2022-05-17 12:05
    收起回复
      2025-08-03 14:54:53
      广告
      不感兴趣
      开通SVIP免广告
      get-command 获取所有命令
      get-process 获取所有进程
      get-alias
      给指定命令重命名:Set-Alias,如Set-Alias aaa Get-Command

      Host 主机信息
      $lop='skflskjfslfjs;'
      cls/clear/ctrl+L 清屏

      help
      |more
      ctrl+c 退出


      IP属地:湖南3楼2022-05-17 12:27
      回复
        管道脚本:
        PowerShell过滤管道结果通过管道可以过滤某些对象和对象的属性,这个功能很实用。
        如果要过滤对象可以使用Where-Object;
        如果要过滤对象的属性,可以使用Select-Object;
        如果要自定义个性化的过滤效果可以使用ForEach-Object。
        最后如果想过滤重复的结果,可是使用Get-Uinque。
        通过Get-service查看运行在机器上的当前服务,但是可能只关心哪些正在运行的服务,这时就可是通过每个服务的属性Status进行过滤。
        但是前提条件是你得事先知道待处理的对象拥有哪些属性。你可以通过Format-List * ,也可以通过Get-memeber。
        get-service | select-object -First 1
        get-command wri*
        ls d* |ft Name

        ls |Sort-Object Length -Descending 排序按照“长度”降序
        get-process | group-object company
        格式化命令分组 Group-Object并不是唯一可以完成分组功能的命令,事实上格式化命令例如Format-Object支持一个GroupBy的参数,也可以完成分组

        PS E:\004-P3-10-4> 2,1,1,3,4,5,5,2,2,5,6,7|get-unique
        2
        1
        3
        4
        5
        2
        5
        6
        7
        PS E:\004-P3-10-4> 2,1,1,3,4,5,5,2,2,5,6,7|sort-object|get-unique
        1
        2
        3
        4
        5
        6
        7


        IP属地:湖南4楼2022-05-17 15:02
        收起回复
          winver
          系统版本
          显示PS版本:
          $PSVersionTable.PSVersion
          $PSVersionTable
          Name Value
          ---- -----
          PSVersion 5.1.19041.1682
          PSEdition Desktop
          PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
          BuildVersion 10.0.19041.1682
          CLRVersion 4.0.30319.42000
          WSManStackVersion 3.0
          PSRemotingProtocolVersion 2.3
          SerializationVersion 1.1.0.1


          IP属地:湖南5楼2022-05-17 15:10
          回复

            以管理员身份登录,执行set-executionpolicy remotesigned


            IP属地:湖南6楼2022-05-18 08:42
            回复
              PowerShell是一个来自微软的任务自动化和配置管理框架。 最初是个Windows组件,称为Windows PowerShell. 2016年8月18日推出PowerShell Core(What's New in PowerShell Core 6.0 )后其开始开源和跨平台. 前者(PowerShell)是建立在.NET Framework上的,而后者(PowerShell Core)是在.NET Core上建立的。

              PowerShell实现了管道的概念,该管道可以将一个cmdlet的输出作为输入传输到另一个cmdlet。 例如,Get-Process cmdlet的输出可以通过管道传递到Where-Object,以过滤任何少于1 MB分页内存的进程,然后过滤到Sort-Object cmdlet(例如,通过句柄 计数),然后最后到Select-Object cmdlet,只选择前10个(即基于句柄计数的10个进程)
              ps | select -First 5
              ps | select -Last 5

              PowerShell还提供了数组和关联数组。 PowerShell脚本语言还可以立即评估在命令行中输入的算术表达式,并解析常用缩写,如GB,MB和KB。
              PS C:\Users\Administrator> 1..5|%{write-host "李lop'ss is $_ coming"}
              李lop'ss is 1 coming
              李lop'ss is 2 coming
              李lop'ss is 3 coming
              李lop'ss is 4 coming
              李lop'ss is 5 coming

              托管(Hosting)
              还可以将PowerShell嵌入到其他管理应用程序中,该应用程序使用PowerShell运行时来实现管理功能。为此,PowerShell提供了托管宿主API。 通过这些API,应用程序可以在自己的进程中实例化运行空间(PowerShell运行时的一个实例),并作为Runspace对象公开。

              PowerShell Core 6.0
              PowerShell Core 6.0最早于2016年8月18日披露,当时微软公布了PowerShell Core,并决定让产品跨平台,独立于Windows,免费和开源。 它于2018年1月10日在Windows,MacOS和Linux上实现了全面的可用性。


              IP属地:湖南7楼2022-05-18 09:01
              回复
                使用 powershell 或者 CMD 时中文显示乱码,每次都要手动执行 chcp 65001。

                解决之前:
                可以看到 powershell 的当前活动代码页为 936,这个时候显示的中文是乱码的。

                永久解决方法:
                打开 控制面板—>时钟和区域—>区域->管理—>更改系统区域设置
                勾选:使用 Unicode UTF-8 提供全球语音支持
                点击确定,这个时候电脑提示需要重启,重启后再打开 powershell 就可以正常显示中文啦。

                在管理员模式下运行PowerShell,输入Update-help即可启动帮助手册的升级。如果电脑已经连网,会有以下提示:
                正在更新模块Microsoft.PowerShell.Utility 的帮助
                正在查找帮助内容...

                获取帮助:
                在命令提示符处输入“get-help get-help -showwindow”并按回车键(这里以get-help命令举例说明)


                IP属地:湖南8楼2022-05-18 09:22
                回复