Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.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_Git_Github - Fatal编程技术网

Python 转义双引号与单引号

Python 转义双引号与单引号,python,git,github,Python,Git,Github,我注意到这个代码: os.system("'{0}'".format(path)) 看到有人把它改成这样: os.system("\"{0}\"".format(path)) 我想知道把它从单引号改为双引号有什么好处 这是我从中提取的原始提交:实际上不太多,但根据经验法则,文本分配和打印使用单引号。这样你就可以避免打印本来不应该在那里的东西 单引号通常很有用,因为它们是文字,并且完全包含您键入的字符,例如,'Hi there/'将实际打印Hi there/ 但是,如果您需要类似于'Hi th

我注意到这个代码:

os.system("'{0}'".format(path))
看到有人把它改成这样:

os.system("\"{0}\"".format(path))
我想知道把它从单引号改为双引号有什么好处


这是我从中提取的原始提交:

实际上不太多,但根据经验法则,文本分配和打印使用单引号。这样你就可以避免打印本来不应该在那里的东西

单引号通常很有用,因为它们是文字,并且完全包含您键入的字符,例如,'Hi there/'将实际打印Hi there/


但是,如果您需要类似于'Hi there/n'的内容,如果您将其放在单引号中,它将为您提供字面上的'Hi there/n',而双引号将为您提供所需的结果“Hi there”,然后在windows上断行,命令行参数由程序自己解析,不是shell或cmd.exe。大多数windows程序通常使用双引号来解析带引号的字符串
python.exe
是相同的。在unix操作系统上,命令行参数由shell解析。大多数shell同时解析单引号和双引号。当然,双引号扩展
$
或者shell可以处理的东西。但是,路径将不包含
$

这种改变是一种变通方法,可以在许多操作系统上正常工作


这是Python的问题吗?您想知道它有什么优势吗?它将根据需要输出字符串,并用双引号括起来,而不是用单引号括起来。这不是Ruby或Rails的问题,所以我删除了他们的标记。好吧,很抱歉我点击了很多次,但是的,我想知道发生了什么,只是为了确保我理解他们这么做,因为他们说没有动态内容?我不是Python专家,但我对上述内容有以下看法。第一个带有单引号的示例将直接传递方括号{}作为参数的一部分。而双引号将传递方括号的表示形式。字符串插值在Ruby中类似。双引号将插入“#{@user}”,而单引号“{@user}”不会插入。我希望这能有所帮助。谢谢你的回复,我想这就解释了我最想问的问题。哦,哇,我不知道python是怎么回事。谢谢你的意见。这真的很有帮助,因为我来自RubyonRails,将学习更多python编程。我还被解释说单引号是这个='。我的意思是,在ruby中,你不能调用像“#{happy_string}”这样的结果。我发现,如果你尝试使用单引号进行相同的调用,那么它在ruby中将不起作用#{}抱歉,没有完成最后的评论。它不会在Ruby’{{快乐}字符串}中工作,因为它会把它看成是它的样子。而不是用永远快乐的字符串取代#{happy_string}。这有点难以解释。