如何使用反斜杠

2024-04-18 14:55:07 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在Python字符串中使用斜杠?更清楚地说,我需要使用带Python字符串的反斜杠。我知道\在Python中被认为是转义字符的关键字。我的问题是,我试图在文件路径名中写入使用\的字符串,但当我试图在字符串中写入完整路径名时,反斜杠阻止我使用字符串,因为在扫描字符串文字时出现了以下错误:SyntaxError: EOL。我在Python上呆了很长时间,才知道这是一个语法错误,它处理的字符串末尾没有',但即使我添加了一个,我仍然会得到相同的错误。有人知道我怎么用吗?你知道吗

我也尝试过向字符串中添加随机数据并用反斜杠替换它,但这会产生相同的错误。我的代码要求系统驱动器名(C:)是一个名为SYSTEM_DRIVE的字符串,然后是一个名为USERNAME的单独字符串。我使用getpass.getuser()获取当前运行用户的用户名,并将输出存储在USERNAME。之后,我将SYSTEM_DRIVEUSERNAME组合,并将所需文档的目录和文件名添加到最后一个字符串中,该字符串将用于所需的操作。你知道吗

注意:这是用Python2.7编写的(是的,我知道Python2.7即将过期,但它是我开始使用的Python版本,我正在尝试在迁移到3之前完成这个项目。在切换之前,我正在学习C++。你知道吗

代码:

import os, getpass
SYSTEM_DRIVE = "C:\"
USERNAME = getpass.getuser() + '\'
FILE_PATH = SYSTEM_DRIVE + USERNAME + 'Example\TEXT_FILE.txt'
if os.path.isfile(FILE_PATH):
   print (' [*] File is present on the system [*] ')
else:
   print (' [*] No file was found [*] ')

这个例子没有我的完整路径。我只是使用示例和TEST\u文件作为持有者。 编辑:对不起大家的困惑有人改变了我的问题标题或我一定有什么不清楚。你知道吗


Tags: 文件path字符串代码os错误usernamedrive
2条回答

这里容易修好。将\与另一个一起使用会导致它转义上一个,因此如果反斜杠是您的挑战,那么使用\\这将转义反斜杠并将其作为普通字符串输出,所以"C:\\path\\to\\file"。另一种选择是通过在它前面添加一个r使它成为一个原始字符串 r"C:\path\to\html.text"这也应该为您输出一个字符串,而不是转义任何字符

停止使用“\”字符,因为它不可移植,可能无法在其他平台上工作。如果您真的需要,可以使用os.path.join(),或者os.path.sep

>>> import os
>>> os.path.sep
'/'
>>> os.path.join( 'folder', 'file.txt')
'folder/file.txt'
>>> 

JFYI,我在Linux上。Windows机器将为您提供不同的输出。你知道吗

相关问题 更多 >