Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中使用反斜杠_Python - Fatal编程技术网

如何在Python中使用反斜杠

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

如何在Python字符串中使用斜杠?更清楚地说,我需要使用带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@Sue
os.path.sep
将为您提供本地路径分隔符。在windows机器上,您将获得预期的``结果,并且您的代码将更加丰富portable@njzk2因此您应该在注释中避开反斜杠:`\`;)我是为一台Windows机器写这篇文章的,但我尊重Linux爱好者,我自己就是其中之一,只是想为Windows写这个项目,这样我就可以在Linux之外的另一个平台上掌握它based@Sue
os.path.sep
将为您提供本地路径分隔符。在windows机器上,您将获得预期的``结果,并且您的代码将更加丰富portable@njzk2因此您应该在注释中避开反斜杠:`\`;)这解决了我的问题,我已经更正了我的代码并接受了你的答案,是的,我在网上和其他对这个问题的回答中看到了这一点,但是它似乎不起作用,也许我做错了什么?无论哪种方式,我都会处理原始字符串并找出答案。这解决了我的问题,我已经更正了代码并接受了你的答案,是的,我在网上和对这个问题的其他精彩回答中看到了这一点,但它似乎不起作用,也许我做错了什么?不管是哪种方式,我都要把原始字符串弄得乱七八糟,弄清楚它。