【发布时间】:2021-12-24 00:44:03
【问题描述】:
我想通过 Python 在 Windows 中的快速访问中添加一个文件夹。
Python 本身无法做到这一点,但是 Powershell can.
每次运行时所说的文件夹都会发生变化,所以我需要将它作为变量传递。
为了最小化我想使用 os.system 的导入。
(与 subprocess.run() 和 subprocess.popen() 相反,因为无论如何我都必须导入系统。)
如果可能的话,我还想保持代码“内联”,而不必在我的硬盘驱动器的某个位置存储和引用 .ps1 文件。
我拼凑了一些通过 Google 搜索不起作用的东西:
import os
myfolder = "C:/Windows"
os.system("powershell.exe [$qa = New-Object -ComObject shell.application && $qa.NameSpace('%s').Self.InvokeVerb('pintohome')]" % (myfolder))
我收到以下错误消息:
In Zeile:1 Zeichen:2
+ [$qa = New-Object -ComObject shell.application
+ ~
Der Typname nach "[" fehlt.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : MissingTypename
1.) 如何正确告诉 Python 调用 powershell?
2.) 如何添加多行代码使其在同一环境中执行?
3.) 如何正确传递文件夹变量?
作为额外的奖励,我如何在执行代码时隐藏 powershell 窗口?
【问题讨论】:
标签: python windows powershell