Python 输入文件路径并传递到字符串文本

Python 输入文件路径并传递到字符串文本,python,Python,我正在编写一个脚本,它以SAS数据集的文件路径的形式接受用户输入。在开发我使用的程序时使文件路径正常工作 data= r'//filepath/file.sas7bdat' 但我现在想通过用户输入传递文件路径,如下所示: path = input("Filepath: ") 用于 df = pd.read_sas(data, format = 'sas7bdat', encoding="cp1252") 但是我不知道如何将文件路径传递到使用文本r“”的 data=r'path' 原始字符

我正在编写一个脚本,它以SAS数据集的文件路径的形式接受用户输入。在开发我使用的程序时使文件路径正常工作

data= r'//filepath/file.sas7bdat'
但我现在想通过用户输入传递文件路径,如下所示:

path = input("Filepath: ")
用于

df = pd.read_sas(data, format = 'sas7bdat', encoding="cp1252")
但是我不知道如何将文件路径传递到使用文本r“”的

data=r'path'

原始字符串仅在硬编码带有反斜杠的字符串文字时有用。由于您现在希望
path
来自用户的输入,因此根本不需要使用原始字符串,您可以使用
path
,因为它是由
input()
直接返回的:

df = pd.read_sas(path, format = 'sas7bdat', encoding="cp1252")

如果可以,我建议您尽可能将文件名作为参数传递给实际脚本。这样你就可以完成制表和其他整洁的事情
python myscript.py/filepath/file.sas7bdat
和do
path=sys.argv[1]
。对于记录tho,传递
r'
只意味着它是一个原始字符串,因此在写入字符串时不需要转义反斜杠等。它仍然是一个在幕后逃脱的角色。因此,净结果中的
r'
和普通字符串没有区别。所以不要太担心,除非你知道为什么这会成为一个问题。谢谢!我会试试的!在这种情况下,我会得到以下错误:[Errno 22]无效参数:“\\\\filepath\file.sas7bdat”'但当我在没有qoutes的情况下传递文件路径时,它似乎可以工作!谢谢