我正在解析带有路径列表的文件。我正在尝试查看某个路径是否在特定目录下。所以我有两个字符串:S1 = '/tmp/'S2 = '/tmp/file.txt'
如果我想检查S2是否包含S1加上一些额外的字节,则在C语言中,我会执行strncmpS1S2,直到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/

10-12 03:25
查看更多