我读了ini文件在python中打开一个文件。 问题是文件信息有时在“..”内,但有时它不是。
例如,
fileA = "/a/b/c.txt"
fileB = /a/b/d.txt
有没有简单的方法来检测字符串是否包含在“..”中,并在引号内返回字符串?
答案 0 :(得分:3)
简单的检测将涉及检查s[:1] == s[-1:] == '"'
(仔细地用切片来表示它而不是索引以避免异常,如果s
是一个空字符串),并且条件删除如果两端都有一个引用,那么两端的引用恰好是
if s[:1] == s[-1:] == '"':
s = s[1:-1]
另外,正如他所说,@ Magnus的答案中的方法会删除所有前导和尾随引用,并且无条件地这样做;所以,例如,如果s
以三个引号开头,但不以任何结尾(并且在所有其他奇怪的情况下,超出您所说明的规范),我的答案中的代码段将不会改变{ {1}},@ Magnus将删除三个主要引号。
“你付钱并且你选择了”...如果你不在乎这种或那种方式(即你确定两个答案不同的情况是“完全和完全不可能”...... 。),然后我认为@Magnus的更高抽象级别的方法更整洁(但是,这是一个风格问题 - 当你不关心无法匹配或不平衡的报价时,他的方法和我的方法都是正确的Python解决方案;-)。
答案 1 :(得分:2)
删除所有前导和尾随引号:
fileA = fileA.strip('"')