小编J. *_*oes的帖子

python 3.6*logging modul error*UnicodeEncodeError:'charmap'编解码器无法编码字符

在Windows 10上,日志记录模块发送此错误(使用scrapy)

# --- Logging error ---
...
# UnicodeEncodeError: 'charmap' codec can't encode characters in position 175-176: character maps to <undefined>
Run Code Online (Sandbox Code Playgroud)

我已经读过我应该添加,encoding='utf-8'但我没有找到如何在下面的代码中添加它. 编辑:根据tuto,它是不需要的.

configure_logging(install_root_handler=False) #override default log settings
logging.basicConfig(
    filename='logfile.log',
    format='%(levelname)s: %(message)s',
    datefmt='%m-%d %H:%M',
    level=logging.INFO #CRITICAL ERROR WARNING  INFO    DEBUG    NOTSET 
)
Run Code Online (Sandbox Code Playgroud)

我发现了很多关于这些主题的问题,但主要是关于python 2(或者与日志记录模块无关).日志教程甚至没有谈论utf-8.(请注意,我可以毫无问题地打印UTF8字符.问题只发生在记录模块上)

logging encoding error-logging character-encoding python-3.x

9
推荐指数
1
解决办法
2294
查看次数

python3:如何使用按Ctrl+X(剪切)和Ctrl+V使用pynput?

根据pynput 文档,我尝试“剪切”:

1:在编辑器中选择一些文本

2:使用快捷方式运行this_code.py(不离开活动窗口)

from pynput.keyboard import Key, Controller
keyboard = Controller()
with keyboard.pressed(Key.ctrl):
    keyboard.press('x')
    keyboard.release('x')
Run Code Online (Sandbox Code Playgroud)

python控制台打开实际上打印:^X。键的组合是正确的,但它没有执行它应该执行的操作:剪切选定的文本并将其存储在剪贴板中。(我不想只将剪贴板内容存储在变量中,我想要 Ctrl+C)

我想这个答案也将解决剩余部分:Ctrl+V(过去一些将首先插入剪贴板的数据)

python keyboard copy-paste key python-3.x

6
推荐指数
2
解决办法
3万
查看次数

pywinauto:如何选择这个对话框?使用哪种间谍工具?我需要什么信息?

如何在 7-zip“添加到存档”对话框的第一个字段中写入“hello”?

到目前为止,我设法使用此触发 7-zip (windows 64x)“添加到存档”对话框

from pywinauto.application import Application
app = Application().start(r"C:\Program Files\7-Zip\7zFM.exe") #set the app
app.top_window_().Edit.type_keys(r"C:\Users\me\Desktop{ENTER}") 
app.top_window_().SysListView32.Select(r'test.txt') #select files in list
app.top_window_().ToolbarAdd.TypeKeys("{ENTER}") #apply
Run Code Online (Sandbox Code Playgroud)

然后我无法选择“添加到存档”对话框。

1:这不起作用。我猜是因为它没有找到对话框。如果是这样,为什么?

app.window(title_re="Add to Archive", class_name="#32770").print_control_identifiers()
Run Code Online (Sandbox Code Playgroud)

2:这也不起作用:

app.window(title_re="Add to Archive", class_name="#32770").Edit.type_keys("hello")
Run Code Online (Sandbox Code Playgroud)

3:我尝试使用查找我的应用程序上的所有可用对话框print(app.windows())

但它打印出这个:

[<pywinauto.controls.win32_controls.DialogWrapper object at 0x0000000004033D68>, <pywinauto.controls.common_controls.ToolTipsWrapper object at 0x0000000004089128>, <pywinauto.controls.hwndwrapper.HwndWrapper object at 0x0000000004089208>, <pywinauto.controls.win32_controls.DialogWrapper object at 0x
00000000040893C8>, <pywinauto.controls.win32_controls.DialogWrapper object at 0x0000000004089390>]
Run Code Online (Sandbox Code Playgroud)

我没有看到任何“添加到存档”窗口,为什么?这些东西是什么(例如 in32_controls.DialogWrapper)?

对话框中 不同间谍工具spy++的打印屏幕在此输入图像描述

在第一个控件上进行间谍++(它说编辑,但是au 在此输入图像描述

对话框的spectr.exe: 在此输入图像描述

python automation 7zip pywinauto python-3.x

4
推荐指数
1
解决办法
1万
查看次数