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

问题描述 投票:1回答:1

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

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错误。

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

python path pickle username absolute-path
1个回答
2
投票

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

import getpass
import pickle

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

no_user_path = pickle.load(open(data, "rb"))
© www.soinside.com 2019 - 2024. All rights reserved.