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