Python 脚本运行报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

在使用Python脚本自动化操作时,你可能会遇到以下错误信息:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

这个错误通常发生在你的代码中使用了反斜杠(),而反斜杠在Python中被视为转义字符,导致解码错误。

代码示例

import subprocess
import pyautogui
import time

# 打开桌面上的小程序
subprocess.Popen(r'C:\Users\Administrator\Desktop\国开照片采集工具.lnk')

# 等待小程序打开
time.sleep(5)

# 在打开的小程序中找到并点击'我的照片查询'
my_photos_location = pyautogui.locateOnScreen('C:\Users\Administrator\Desktop\我的照片查询.png')
if my_photos_location:
    my_photos_x, my_photos_y = pyautogui.center(my_photos_location)
    pyautogui.click(my_photos_x, my_photos_y)
else:
    print('未找到'我的照片查询'')

# 等待页面加载
time.sleep(5)

# 在打开的页面中找到并点击'考试照片查询'
exam_photos_location = pyautogui.locateOnScreen('C:\Users\Administrator\Desktop\考试照片查询.png')
if exam_photos_location:
    exam_photos_x, exam_photos_y = pyautogui.center(exam_photos_location)
    pyautogui.click(exam_photos_x, exam_photos_y)
else:
    print('未找到'考试照片查询'')

解决方法

有两种方法可以解决这个问题:

  1. 将反斜杠()改为双反斜杠(\):

    将字符串中的反斜杠()改为双反斜杠(\),例如:

subprocess.Popen(r'C:\Users\Administrator\Desktop\国开照片采集工具.lnk')


```python
my_photos_location = pyautogui.locateOnScreen('C:\Users\Administrator\Desktop\我的照片查询.png')
exam_photos_location = pyautogui.locateOnScreen('C:\Users\Administrator\Desktop\考试照片查询.png')
  1. 使用原始字符串(raw string):

    在字符串前面添加字母"r",表示使用原始字符串,例如:

subprocess.Popen(r'C:\Users\Administrator\Desktop\国开照片采集工具.lnk')


```python
my_photos_location = pyautogui.locateOnScreen(r'C:\Users\Administrator\Desktop\我的照片查询.png')
exam_photos_location = pyautogui.locateOnScreen(r'C:\Users\Administrator\Desktop\考试照片查询.png')

你可以根据自己的喜好选择其中一种方法来解决问题。

修正后的代码

import subprocess
import pyautogui
import time

# 打开桌面上的小程序
subprocess.Popen(r'C:\Users\Administrator\Desktop\国开照片采集工具.lnk')

# 等待小程序打开
time.sleep(5)

# 在打开的小程序中找到并点击'我的照片查询'
my_photos_location = pyautogui.locateOnScreen(r'C:\Users\Administrator\Desktop\我的照片查询.png')
if my_photos_location:
    my_photos_x, my_photos_y = pyautogui.center(my_photos_location)
    pyautogui.click(my_photos_x, my_photos_y)
else:
    print('未找到'我的照片查询'')

# 等待页面加载
time.sleep(5)

# 在打开的页面中找到并点击'考试照片查询'
exam_photos_location = pyautogui.locateOnScreen(r'C:\Users\Administrator\Desktop\考试照片查询.png')
if exam_photos_location:
    exam_photos_x, exam_photos_y = pyautogui.center(exam_photos_location)
    pyautogui.click(exam_photos_x, exam_photos_y)
else:
    print('未找到'考试照片查询'')

注意:

  • 确保你已经安装了 pyautogui 库。你可以使用 pip install pyautogui 命令安装。
  • 将代码中的路径替换为你实际的路径。
  • 调整代码中 time.sleep() 的时间参数,以便脚本能够在每个步骤中等待足够长的时间。

希望这篇文章能够帮助你解决问题!

Python 脚本运行报错:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

原文地址: https://www.cveoy.top/t/topic/bske 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录