避免在Python路径中使用反斜杠

避免在Python路径中使用反斜杠,python,python-2.7,search,Python,Python 2.7,Search,下面您可以找到一个简单的脚本来搜索文件中的文本。我在寻找如何更具跨平台性,我的意思是如何避免路径中的“\”以查看所有dir,并使用Python中的标准库进行操作。因为我知道,mac使用“/”而不是反斜杠。知道怎么做吗 #!/usr/bin/env python def find(text, search_path): res = [] for subdir, dirs, files in os.walk(search_path): for fname

下面您可以找到一个简单的脚本来搜索文件中的文本。我在寻找如何更具跨平台性,我的意思是如何避免路径中的“\”以查看所有dir,并使用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])

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

subdir + "\\" + fname
你可以

os.path.join(subdir, fname)

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

subdir + "\\" + fname
你可以

os.path.join(subdir, fname)
你可以用。这只是表明,如果需要,您实际上可以获取操作系统用于分离路径名组件的字符,但要连接路径名,请参阅使用
os.path.join()
的另一个答案

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

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

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


检查
os.path.join
os.path.join
是正确的解决方案,Windows对
/
目录分隔符非常满意。显然,答案是肯定的。谢谢大家!@mbomb007:Purple Rain不是在寻找(通常是
):“
”;“
”,而是(通常是
”/“
”\”
)。有关处理目录分隔符的更好方法,请参阅“”,以及“发件人”。检查
os.path.join
,而
os.path.join
是正确的解决方案,Windows对
/
目录分隔符非常满意。显然,答案是肯定的。谢谢大家!@mbomb007:Purple Rain不是在寻找(通常是
':'
';'
),而是在寻找(通常是
'/'
'\'
)。有关处理目录分隔符的更好方法,请参阅“”,以及from“”。