使用双反斜杠时获取用户路径 (Python)

Get User Path When Using Double Backslash (Python)

我正在寻找一种方法来在路径具有双反斜杠时获取路径中的当前用户名。这是我的示例代码:

import getpass
import pickle

no_user_path = pickle.load(open("C:\Users\{}\Desktop\data.dat", "rb"))
path = no_user_path.format(getpass.getuser())

print(path)

我在这里尝试使用 pickle 模块导航到路径,但出现此错误:

Traceback (most recent call last):
  File "C:/Users/mikur/Desktop/help.py", line 4, in <module>
    no_user_path = pickle.load(open("C:\Users\{}\Desktop\data.dat", "rb"))
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\{}\Desktop\data.dat'
>>> 

如您所见,它实际上并没有用用户名替换 {},为什么不这样做呢?它仅使用一个反斜杠就可以正常工作,但这是一个转义字符,会导致 pickle.

错误

我该怎么做才能解决这个问题?

您需要在调用之前格式化您的字符串 pickle.load()

import getpass
import pickle

data = "C:\Users\{}\Desktop\data.dat".format(getpass.getuser())

no_user_path = pickle.load(open(data, "rb"))