逃避双引号与单引号

时间:2013-01-22 15:34:11

标签: python git github

我注意到了这段代码:

os.system("'{0}'".format(path))

并且看到有人改变了它:

os.system("\"{0}\"".format(path))

我想知道将它从单引号改为双引号会给你带来什么好处?

以下是我从中提取的原始提交:https://github.com/mattn/legit/commit/84bd1b1796b749a7fb40e0b734d2de29ddc9d3d9

2 个答案:

答案 0 :(得分:1)

实际上并不多,但经验法则使用单引号进行文字作业和打印。这样你就可以避免打印出那些本不应该存在的东西。

单引号通常很有用,因为它们是文字的,并且包含您输入的字符,例如'Hi there /'实际上会打印你好/

然而,如果你需要像'你好/ n'这样的东西,如果你把它放在单引号中它会给你字面意思'你好/ n'而双引号会为您提供所需的结果“Hi there”然后断行

答案 1 :(得分:1)

在Windows上,命令行参数由程序it-self解析,而不是shell或cmd.exe。大多数Windows程序通常用双引号解析引用的字符串。 python.exe是一样的。在unix OS上,命令行参数由shell解析。大多数shell都解析单引号/双引号。当然,双引号扩展$或shell可以处理的东西。但是,路径不会包含$

这种变化是可以在许多操作系统上合法运行的解决方法。

enter image description here enter image description here