Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pywinauto app=Application.start()不工作,出现错误_Python_Python 3.x_Pywinauto - Fatal编程技术网

Python Pywinauto app=Application.start()不工作,出现错误

Python Pywinauto app=Application.start()不工作,出现错误,python,python-3.x,pywinauto,Python,Python 3.x,Pywinauto,尝试使用pywinauto启动exe文件时出错。这是我的代码: from pywinauto.application import Application app = Application() app.Start("D:\dragonboy160\dragonboy160.exe") 据我所知,这应该行得通app=Application().start(“”)也不起作用。我还尝试如下设置导入:来自pywinauto导入应用程序我在PyCharm中运行python文件时出现了以下错误: "C:

尝试使用pywinauto启动exe文件时出错。这是我的代码:

from pywinauto.application import Application
app = Application()
app.Start("D:\dragonboy160\dragonboy160.exe")
据我所知,这应该行得通
app=Application().start(“”)也不起作用。我还尝试如下设置导入:
来自pywinauto导入应用程序
我在PyCharm中运行python文件时出现了以下错误:

"C:\Program Files (x86)\python.exe" D:/dragonboy160/screenview.py
Traceback (most recent call last):
  File "D:/dragonboy160/screenview.py", line 2, in <module>
    import pywinauto
  File "C:\Program Files (x86)\lib\site-packages\pywinauto\__init__.py", line 40, in <module>
    from . import findwindows
  File "C:\Program Files (x86)\lib\site-packages\pywinauto\findwindows.py", line 42, in <module>
    from . import controls
  File "C:\Program Files (x86)\lib\site-packages\pywinauto\controls\__init__.py", line 36, in <module>
    from . import uiawrapper # register "uia" back-end (at the end of uiawrapper module)
  File "C:\Program Files (x86)\lib\site-packages\pywinauto\controls\uiawrapper.py", line 44, in <module>
    from ..uia_defines import IUIA
  File "C:\Program Files (x86)\lib\site-packages\pywinauto\uia_defines.py", line 35, in <module>
    import comtypes.client
  File "C:\Program Files (x86)\lib\site-packages\comtypes\client\__init__.py", line 33, in <module>
    gen_dir = _find_gen_dir()
  File "C:\Program Files (x86)\lib\site-packages\comtypes\client\_code_cache.py", line 71, in _find_gen_dir
    result = os.path.abspath(gen_path[-1])
IndexError: list index out of range
“C:\Program Files(x86)\python.exe”D:/dragonboy160/screenview.py
回溯(最近一次呼叫最后一次):
文件“D:/dragonboy160/screenview.py”,第2行,在
导入pywinauto
文件“C:\Program Files(x86)\lib\site packages\pywinauto\\uuuu init\uuuu.py”,第40行,在
从…起导入findwindows
文件“C:\Program Files(x86)\lib\site packages\pywinauto\findwindows.py”,第42行,在
从…起进口管制
文件“C:\Program Files(x86)\lib\site packages\pywinauto\controls\\uuu init\uuu.py”,第36行,在
从…起导入uiawrapper#注册“uia”后端(在uiawrapper模块的末尾)
文件“C:\Program Files(x86)\lib\site packages\pywinauto\controls\uiawrapper.py”,第44行,在
from..uia_定义导入IUIA
文件“C:\Program Files(x86)\lib\site packages\pywinauto\uia\u defines.py”,第35行,在
导入comtypes.client
文件“C:\Program Files(x86)\lib\site packages\comtypes\client\\uuuu init\uuuu.py”,第33行,在
gen\u dir=\u find\u gen\u dir()
文件“C:\Program Files(x86)\lib\site packages\comtypes\client\\u code\u cache.py”,第71行,在\u find\u gen\u dir中
结果=os.path.abspath(gen_path[-1])
索引器:列表索引超出范围
我搜索了又搜索,似乎没有其他人有这个问题。我还尝试打开其他.exe文件,但出现了相同的错误。导致此错误的原因是什么?我如何修复它?

这是一个导入问题(在第一行)


这看起来像是没有管理员权限,
comtypes
无法将缓存文件写入
程序文件。理论上,它可能会在comtypes端修复(或者通过将Python重新安装到另一个文件夹,如
C:\Python3x
),但是由于其他操作系统限制,您无论如何都必须以管理员身份运行该脚本(pywinauto将在最近的将来警告权限不足,现在它处于静默状态).

我也遇到了同样的问题,我通过从Windows禁用
UAC
来修复它。

尝试
app.Start(“D:\\dragonboy160\\dragonboy160.exe”)
我尝试了,得到了相同的结果
r'“D:\dragonboy160\dragonboy160.exe”
?检查向导,这是行不通的。对终端用户来说,禁用UAC不应该是一个可接受的答案。