我正在解析带有路径列表的文件。我正在尝试查看某个路径是否在特定目录下。所以我有两个字符串:S1 = '/tmp/'
和S2 = '/tmp/file.txt'
如果我想检查S2
是否包含S1
加上一些额外的字节,则在C语言中,我会执行strncmp
和S1
的S2
,直到strlen(S1)
字节。有没有办法在Python中做到这一点?我是Python的新手,尚不知道所有可用的模块。我可以通过遍历字符串中的字符并进行比较来简单地实现此功能,但要查找默认情况下是否有任何东西可以提供此类帮助功能
最佳答案
是的。您可以执行以下操作:if a in b:
这将检查a
是否是b
中任何位置的子字符串。
例如
if 'foo' in 'foobar':
print True
if 'foo' in 'barfoo':
print True
从您的帖子中看来,您只想看一下字符串的开头。在这种情况下,可以使用
.startswith
方法:if 'foobar'.startswith('foo'):
print "it does!"
同样,您可以使用
endswith
做同样的事情:if 'foobar'.endswith('bar'):
print "Yes sir :)"
最后,也许
strncmp
的最直接的翻译是使用slicing和==
:if a[:n] == b[:n]:
print 'strncmp success!'
Python还具有许多用于处理
os.path
模块中的路径名的功能。值得研究其中的内容。有一些非常简洁的功能。关于python - python中的strncmp,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14948900/