我倾向于从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())
但一旦我有了更多的变量,这就变得很烦人了.
那么有什么解决办法吗?还是我必须找到并替换斜杠或其他东西?