python在用户输入文件路径中添加反斜杠和引号,不会打开

fnvucqvd  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(238)

使用Python3.9,我想“输入”一个文件路径(通过输入函数)。然后我想打开那个文件路径。我受到以下错误的阻碍:

OSError: [Errno 22] Invalid argument: "'C:\\\\Users\\\\Hart\\\\Documents\\\\File.txt'"

我想知道为什么。
我知道的是:我有一个文件路径。根据os.path.exists,文件路径存在。

>>> os.path.exists("C:\\Users\\Hart\\Documents\\File.txt")
True

我可以打开文件。

>>> open("C:\\Users\\Hart\\Documents\\File.txt")
<_io.TextIOWrapper name='C:\\Users\\Hart\\Documents\\File.txt' mode='r' encoding='cp1252'>

我可以调用任何文件,它仍然存在,我仍然可以打开它。

>>> anything = "C:\\Users\\Hart\\Documents\\File.txt"
>>> os.path.exists(anything)
True
>>> open(anything)
<_io.TextIOWrapper name='C:\\Users\\Hart\\Documents\\File.txt' mode='r' encoding='cp1252'>

但是我想通过输入函数间接打开文件。

>>> file = input('Enter a file path\n')
Enter a file path
'C:\\Users\\Hart\\Documents\\File.txt'

这将创建一个名为file的变量,它类似于我的文件路径。

>>> print(file)
'C:\\Users\\Hart\\Documents\\File.txt'

但是当我试着打开它的时候。。。

OSError: [Errno 22] Invalid argument: "'C:\\\\Users\\\\Hart\\\\Documents\\\\File.txt'"

此变量表示的文件也不存在。

>>> os.path.exists(file)
False

发生什么事?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题