import re
ftplist = open('C:\Documents and Settings\jasong\My Documents\GooleDrive\lookup.txt','r')
txt = ftplist.read()
re1='([a-z]:\\\\(?:[-\\w\\.\\d]+\\\\)*(?:[-\\w\\.\\d]+)?)'
rg = re.compile(re1,re.IGNORECASE|re.DOTALL)
m = rg.search(txt)
if m:
winpath1=m.group(1)
print "("+winpath1+")"+"\n"
答案 0 :(得分:2)
直接遍历文件对象:
with open(r'C:\Documents and Settings\jasong\My Documents\GooleDrive\lookup.txt','r') as ftplist:
for line in ftplist:
match = rg.search(line)
这将有效地读取文件,而不必先将所有内容加载到内存中。
注意:我还将您的路径设置为原始字符串(通过在其前面添加r
)以防止Python尝试解释以\
反斜杠开头的转义序列; \n
,\r
,\t
和\b
在普通字符串中都有特殊含义。对于Windows文件路径使用原始字符串通常是个好主意,尽管您也可以使用正斜杠或双反斜杠字符。