'';在Python的字符串中

'';在Python的字符串中,python,string,Python,String,我的python程序需要使用以下命令进行系统调用 "cat "+transDir+transFile+" | grep \""+fileName+" \" | cut -d\" \" -f2- | sed \"s/ (/=/g\" | cut -d\"=\" -f1 | sed \"s/) /=/g\" | cut -d\"=\" -f2- | sed \"s/''" 绳子原来是这样的 #look at the last two characters, ie. '' 'cat ../resu

我的python程序需要使用以下命令进行系统调用

"cat "+transDir+transFile+" | grep \""+fileName+" \" | cut -d\" \" -f2- | sed \"s/ (/=/g\" | cut -d\"=\" -f1 | sed \"s/) /=/g\" | cut -d\"=\" -f2- | sed \"s/''" 
绳子原来是这样的

#look at the last two characters, ie. ''
'cat ../results/allTrans.txt | grep "Sentence_L3_1 " | cut -d" " -f2- | sed "s/ (/=/g" | cut -d"=" -f1 | sed "s/) /=/g" | cut -d"=" -f2- | sed "s/'\'\''    

如您所见,字符串中的最后一个“”已变为\'\'。我怎样才能得到“”呢

尝试将r放在最后一个字符串前面,如下所示:

r“\”切割-d\”-f2-”sed\”s/(/=/g\”切割-d\“=\”-f1\sed \“s/)/=/g\”| cut-d\“=”-f2-| sed\“s/”

或者,如果这不起作用,您可以尝试使用三重引号:

“\”切割-d\“\”-f2-”sed\”s/(/=/g\”“切割-d\”=\”-f1-”sed\”s/)/=/g\”切割-d\“=\”-f2-”sed\”s/“””


尝试将r放在最后一个字符串前面,如下所示:

r“\”切割-d\”-f2-”sed\”s/(/=/g\”切割-d\“=\”-f1\sed \“s/)/=/g\”| cut-d\“=”-f2-| sed\“s/”

或者,如果这不起作用,您可以尝试使用三重引号:

“\”切割-d\“\”-f2-”sed\”s/(/=/g\”“切割-d\”=\”-f1-”sed\”s/)/=/g\”切割-d\“=\”-f2-”sed\”s/“””

试试这个:

print 'cat ../results/allTrans.txt | grep "Sentence_L3_1 " | cut -d" " -f2- | sed "s/ (/=/g" | cut -d"=" -f1 | sed "s/) /=/g" | cut -d"=" -f2- | sed "s/''\'\''
试试这个:

print 'cat ../results/allTrans.txt | grep "Sentence_L3_1 " | cut -d" " -f2- | sed "s/ (/=/g" | cut -d"=" -f1 | sed "s/) /=/g" | cut -d"=" -f2- | sed "s/''\'\''

在纯英语中:字符串文字可以用匹配的单引号(')或双引号(“)括起来。它们也可以用三个单引号或双引号(通常称为三引号字符串)的匹配组括起来。反斜杠()字符用于转义具有特殊含义的字符,例如换行符、反斜杠本身或引号字符


\'
用于转义
'
,以防它与
'这是您的命令'
包含单引号的python字符串混淆。忽略它。

简单英语:字符串文本可以包含在匹配的单引号(')或双引号(“)中。它们也可以包含在三个单引号或双引号(通常称为三引号字符串)的匹配组中。反斜杠()字符用于转义具有特殊含义的字符,例如换行符、反斜杠本身或引号字符

\'
用于转义
'
,以防与
'这是您的命令'
包含单引号的python字符串混淆。忽略它。

字符串文字符号(通常是某些程序与外部通信的输入)不是字符串本身(它实际上是内存中的内容),而是您真正需要了解的内容,以避免混淆

'\n'=新行=二进制(12)
'\\'=\=二进制(92)
'\''='=二进制(44)
'\x80'==二进制(128)
左侧是您需要作为Python的输入来理解的内容。右边是它在内存中的实际位置

我们之所以需要这样做,是因为一些字符(称为控制字符)如
换行符
无法使用键盘直接输入,并且通常对主机应用程序具有不同的含义,因此,大多数语言定义了一种接受这些字符的方法,使用
\
作为前缀,然后使用一些通常易于记忆的后缀<代码>\本身需要被指定为
\\

如果字符串文字以具有特殊含义的
'
开头,则需要将其命名为
\'
,以免与字符串文字符号的结尾混淆

*这取决于编码。

字符串文字符号(通常是某些程序与外部通信的输入)不是字符串本身(它实际上是内存中的内容),而是您真正需要了解的内容,以避免混淆

'\n'=新行=二进制(12)
'\\'=\=二进制(92)
'\''='=二进制(44)
'\x80'==二进制(128)
左侧是您需要作为Python的输入来理解的内容。右边是它在内存中的实际位置

我们之所以需要这样做,是因为一些字符(称为控制字符)如
换行符
无法使用键盘直接输入,并且通常对主机应用程序具有不同的含义,因此,大多数语言定义了一种接受这些字符的方法,使用
\
作为前缀,然后使用一些通常易于记忆的后缀<代码>\本身需要被指定为
\\

如果字符串文字以具有特殊含义的
'
开头,则需要将其命名为
\'
,以免与字符串文字符号的结尾混淆


*它取决于编码。

它只是以这种方式显示(因为“”用于显示字符串文字),字符串的实际内容没有改变。执行
打印一些字符串
以查看实际字符串。您正在查看字符串的
repr()
。按照@Rusty的建议去做,你会发现绳子是好的。字符串的末尾实际上有两个
。顺便说一句,使用
cat
将文件馈送到
grep
是一种反模式,只需直接将文件arg提供给
grep
。您先运行了吗?您是否收到任何错误消息或遇到任何问题?我几乎不建议您检查字符串
格式
方法它只是以这种方式显示的(因为“”用于显示字符串文字),字符串的实际内容没有更改。执行
打印一些字符串
以查看实际字符串。您正在查看字符串的
repr()
。按照@Rusty的建议去做,你会发现绳子是好的。字符串的末尾实际上有两个
。顺便说一句,使用
cat
将文件馈送到
grep
是一种反模式,只需直接将文件arg提供给
grep
。您先运行了吗?您是否收到任何错误消息或遇到任何问题?我几乎不建议您检查字符串
格式
方法如果您解释一下
原始
字符串是什么,那就太好了