【发布时间】:2021-08-19 19:32:43
【问题描述】:
我有一个位于C:\Users\srinivast6>C:\Users\srinivast6\Documents\Cipia\Cipia\DriverSenseCLI-v7.4.3-win64 的exe。
这个exe我可以在终端(非管理员模式,windows操作系统)运行没有任何问题。
我使用subprocess.Popen以编程方式调用它,如下所示。
process = subprocess.Popen(['myApplication.exe'])
但它给出了以下错误。它无法读取许可证文件。这可能是什么原因?我需要在管理员模式下打开它吗?
Cannot open license file : license.dat
License 284
Error initializing library:
license is not valid
EDIT1:将运行python脚本的目录更改为exe所在的目录后,我不再看到任何错误。它正在按预期启动。 但我将这个 python 脚本打包为一个独立的可执行文件。所以用户可以从任何目录使用这个可执行文件来启动myApplication.exe。我实际上不能对用户进行限制。
那么是否可以通过编程方式将当前工作目录设置为myApplication.exe所在的路径??
【问题讨论】:
-
@CharlesDuffy,感谢您的意见。这有帮助。更改目录后,它工作了
-
请参阅问题顶部“此问题已在此处找到答案”部分中的链接。
-
是的,这解决了我的问题。我现在应该删除这个问题吗?
-
没有义务——它最终会被自动删除,除非它获得足够的浏览量或赞成票以向系统表明它应该保持打开状态(作为帮助人们找到问题的典型实例)。就此而言,获得赞成的答案可能会阻止您自行删除;我不记得声誉等级在哪里放宽了该规则..
标签: python python-3.x subprocess python-3.8