在读取文件路径时从字符串文字更改为原始字符串文字的替代方法
Alternative way to change from a string literal to a raw string literal when reading in a file path
我正在写一个函数,我的入参是文件路径:C:\Users\HP\Desktop\IBM\New文件夹
def read_folder(pth):
for fle in Path(pth).iterdir():
file_name = Path(pth) / fle
return file_name
我要使用这个功能,我需要在文件路径中指定r''
,即
read_folder(r'C:\Users\HP\Desktop\IBM\New folder')
有没有一种方法可以避免在文件路径中指定 r''
,即。像下面这样,代码就可以工作了。
read_folder('C:\Users\HP\Desktop\IBM\New folder')
我想这样做的原因是为了让用户更容易将目录路径复制并粘贴到函数中,然后 运行 函数。所以它更多的是为了用户端的易用性。
非常感谢。
您可以转义反斜杠:
read_folder('C:\Users\HP\Desktop\IBM\New folder')
你不能真正做到这一点,因为如果不在你的字符串前面加上 r
,python 解释器就不可能知道你的字符串包含 \
故意和不是故意转义字符。
因此您必须在调用 read_folder
函数时使用 r"C:\Users\HP\Desktop\IBM\New folder"
或 "C:\Users\HP\Desktop\IBM\New folder"
作为 参数 。
我正在写一个函数,我的入参是文件路径:C:\Users\HP\Desktop\IBM\New文件夹
def read_folder(pth):
for fle in Path(pth).iterdir():
file_name = Path(pth) / fle
return file_name
我要使用这个功能,我需要在文件路径中指定r''
,即
read_folder(r'C:\Users\HP\Desktop\IBM\New folder')
有没有一种方法可以避免在文件路径中指定 r''
,即。像下面这样,代码就可以工作了。
read_folder('C:\Users\HP\Desktop\IBM\New folder')
我想这样做的原因是为了让用户更容易将目录路径复制并粘贴到函数中,然后 运行 函数。所以它更多的是为了用户端的易用性。
非常感谢。
您可以转义反斜杠:
read_folder('C:\Users\HP\Desktop\IBM\New folder')
你不能真正做到这一点,因为如果不在你的字符串前面加上 r
,python 解释器就不可能知道你的字符串包含 \
故意和不是故意转义字符。
因此您必须在调用 read_folder
函数时使用 r"C:\Users\HP\Desktop\IBM\New folder"
或 "C:\Users\HP\Desktop\IBM\New folder"
作为 参数 。