避免路径Python中的反斜杠

时间:2016-12-21 19:48:48

标签: python python-2.7 search

您可以在下面找到一个简单的脚本来搜索文件中的文本。我正在寻找如何更多的跨平台,我的意思是如何避免' \'在查看所有目录的路径中,使用Python的标准库来完成。因为据我所知,mac使用' /'而不是反斜杠。知道怎么做吗?

#!/usr/bin/env python    

def find(text, search_path):
    res = []

    for subdir, dirs, files in os.walk(search_path):
        for fname in files:
            if os.path.isfile(subdir + "\\" + fname):
                with open(subdir + "\\" + fname) as f:
                    for i, line in enumerate(f):
                        if text in line:
                            res.append([fname, i])

2 个答案:

答案 0 :(得分:2)

例如,您可以使用os.path.join将路径连接在一起 而不是

subdir + "\\" + fname

你可以做到

os.path.join(subdir, fname)

答案 1 :(得分:0)

您可以使用os.sep。这只是表明,如果需要,您实际上可以获取操作系统使用的字符来分隔路径名组件,但是对于连接路径名,请参阅使用os.path.join()的其他答案。

  

操作系统用于分隔路径名组件的字符。对于POSIX,这是'/',对于Windows,这是'\\'。请注意,了解这一点并不足以解析或连接路径名 - 使用os.path.split()os.path.join() - 但它偶尔会有用。也可以通过os.path

获取