我倾向于从windows文件资源管理器地址栏复制许多路径,它们可能会很长:

C:\Users\avnav\Documents\Desktop\SITES\SERVERS\4. server1\0_SERVER_MAKER

现在让我们假设我想用getpass.getuser()代替avnav.

如果我try 以下方式:

project_file = f'C:\Users\{getpass.getuser()}\Documents\Desktop\SITES\SERVERS\4. server1\0_SERVER_MAKER'

我将得到以下错误:

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

我想这是因为一个反斜杠——虽然准确地指出是什么部分导致了错误是很酷的,因为我不确定.

在任何情况下,我也可以这样做:

project_file = r'C:\Users\!!\Documents\Desktop\SITES\SERVERS\4. server1\0_SERVER_MAKER'.replace('!!', getpass.getuser())

但一旦我有了更多的变量,这就变得很烦人了.

那么有什么解决办法吗?还是我必须找到并替换斜杠或其他东西?

推荐答案

Error


语法错误:(unicode错误)"UnicodeScape"编解码器无法解码位置2-3中的字节:截断\uxxxxxxx转义

仔细阅读.是的,错误是这样的.\后面有U个字符.

在Python中,这是在字符串中插入Unicode字符的方法.因此,解释器预计\U后面会有hex个数字,但没有,因此引发了一个异常.

Replace


那么有什么解决办法吗?or do i have to find and replace slashes或更多?

is a possible solution,在将所有\替换为/之后,一切都应该很好,但这不是最好的解决方案.

Raw string


你听说过characters escaping吗?在这种情况下,\正在逃逸{.

为了防止出现这种情况,请将路径设置为raw-string.

rf'C:\Users\{getpass.getuser()}\Documents\Desktop\SITES\SERVERS\4. server1\0_SERVER_MAKER'

Python相关问答推荐

pandas DataFrame中类型转换混乱

在编写要Excel的数据透视框架时修复标题行

ambda将时间戳与组内另一列的所有时间戳进行比较

symy.分段使用numpy数组

如何处理嵌套的SON?

仅从风格中获取 colored颜色 循环

Deliveryter Notebook -无法在for循环中更新matplotlib情节(保留之前的情节),也无法使用动画子功能对情节进行动画

重新匹配{ }中包含的文本,其中文本可能包含{{var}

如何在Windows上用Python提取名称中带有逗号的文件?

计算组中唯一值的数量

数据抓取失败:寻求帮助

无法使用requests或Selenium抓取一个href链接

创建可序列化数据模型的最佳方法

多指标不同顺序串联大Pandas 模型

让函数调用方程

try 检索blob名称列表时出现错误填充错误""

如何使用OpenGL使球体遵循Python中的八样路径?

使用Openpyxl从Excel中的折线图更改图表样式

不允许 Select 北极滚动?

用fft计算指数复和代替求和来模拟衍射?