如何在Python中使用反斜杠
如何在Python字符串中使用斜杠?更清楚地说,我需要使用带Python字符串的反斜杠。我知道如何在Python中使用反斜杠,python,Python,如何在Python字符串中使用斜杠?更清楚地说,我需要使用带Python字符串的反斜杠。我知道\在Python中被认为是转义字符的关键字。我的问题是,我试图在文件路径名中写入使用\的字符串,但当我试图在字符串中写入完整路径名时,反斜杠阻止我使用该字符串,因为出现以下错误:SyntaxError:EOL,同时扫描字符串文字。我研究Python的时间刚刚够长,知道这是一个语法错误,处理的字符串末尾没有,,但即使添加了一个字符串,我仍然会遇到相同的错误。有人知道我怎么用吗 我还尝试向字符串中添加随机数
\
在Python中被认为是转义字符的关键字。我的问题是,我试图在文件路径名中写入使用\
的字符串,但当我试图在字符串中写入完整路径名时,反斜杠阻止我使用该字符串,因为出现以下错误:SyntaxError:EOL
,同时扫描字符串文字。我研究Python的时间刚刚够长,知道这是一个语法错误,处理的字符串末尾没有,
,但即使添加了一个字符串,我仍然会遇到相同的错误。有人知道我怎么用吗
我还尝试向字符串中添加随机数据,并用反斜杠替换它,但这会产生相同的错误。我的代码要求系统驱动器名(C:
)是一个名为system\u drive
的字符串,然后是一个名为USERNAME
的单独字符串。我正在使用getpass.getuser()
获取当前运行用户的用户名,并将输出存储在username
中。之后,我将系统驱动器
与用户名
组合,并将所需文档的目录和文件名添加到最后一个字符串中,该字符串将用于所需的操作
注意:这是用Python 2.7编写的(是的,我知道Python 2.7即将过期,但这是我开始的Python版本,我想在迁移到3之前在这个项目中完成这个任务。我正在学习C++,然后再切换)。 代码:
此示例不包含我的完整路径。我只是使用示例和TEST_文件作为持有者。编辑:很抱歉大家都感到困惑,有人更改了我的问题标题,或者我一定有什么不清楚的地方。这里简单修复。将一个
\
与另一个\
一起使用会导致它转义上一个,因此如果反斜杠是您的挑战,则使用\
这将转义反斜杠,并将其作为正常字符串输出,因此“C:\\path\\to\\file”
。另一种选择是通过在其前面添加一个r,使其成为原始字符串
r“C:\path\to\html.text”
这也应该为您输出一个字符串,而不是转义任何字符这里很容易修复。将一个\
与另一个\
一起使用会导致它转义上一个,因此如果反斜杠是您的挑战,则使用\
这将转义反斜杠,并将其作为正常字符串输出,因此“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'
>>>
告诉你,我在Linux上。Windows计算机将为您提供不同的输出。停止使用“\”字符——它不可移植,可能无法在其他平台上工作。如果确实需要,请使用os.path.join()
或os.path.sep
:
>>> import os
>>> os.path.sep
'/'
>>> os.path.join( 'folder', 'file.txt')
'folder/file.txt'
>>>
告诉你,我在Linux上。Windows计算机将为您提供不同的输出。
“C:\\”
或r“C:\”
“C:/”
将正常工作。我们可以使用甚至混合使用Windows和Linux路径分配器。您要寻找的术语是转义序列。看,我接受了另一个答案,但谢谢大家的意见。我已经解决了我的问题,学会了一些新的技巧,我不知道你能把它们混在一起。谢谢你让我知道。“C:\\”
或r“C:\”
“C:/”
会很好用的。我们可以使用甚至混合使用Windows和Linux路径分配器。您要寻找的术语是转义序列。看,我已经接受了另一个答案,但感谢大家的投入我已经解决了我的问题,并学会了一些新技巧,我不知道你可以混合它们谢谢你让我知道。我写这篇文章是为了一台Windows机器,但我尊重Linux爱好者,我自己只是一个尝试为Windows编写此项目的人,所以我可以掌握Linux之外的另一个平台based@Sueos.path.sep
将为您提供本地路径分隔符。在windows机器上,您将获得预期的``结果,并且您的代码将更加丰富portable@njzk2因此您应该在注释中避开反斜杠:`\`;)我是为一台Windows机器写这篇文章的,但我尊重Linux爱好者,我自己就是其中之一,只是想为Windows写这个项目,这样我就可以在Linux之外的另一个平台上掌握它based@Sueos.path.sep
将为您提供本地路径分隔符。在windows机器上,您将获得预期的``结果,并且您的代码将更加丰富portable@njzk2因此您应该在注释中避开反斜杠:`\`;)这解决了我的问题,我已经更正了我的代码并接受了你的答案,是的,我在网上和其他对这个问题的回答中看到了这一点,但是它似乎不起作用,也许我做错了什么?无论哪种方式,我都会处理原始字符串并找出答案。这解决了我的问题,我已经更正了代码并接受了你的答案,是的,我在网上和对这个问题的其他精彩回答中看到了这一点,但它似乎不起作用,也许我做错了什么?不管是哪种方式,我都要把原始字符串弄得乱七八糟,弄清楚它。