我正在尝试使用python脚本在循环中编辑.html文件的大目录.我在使用os.walk()循环访问文件名时遇到问题.这段代码只是将html文件转换为我可以使用的字符串,但是脚本甚至没有进入循环,就像文件不存在一样.基本上它打印point1
但从未到达point2
.脚本结束时没有错误消息.该目录设置在名为"amazon"的文件夹中,其中有一个级别为20个子文件夹,每个子文件夹中有20个html文件.
奇怪的是,代码完全适用于只包含.txt文件的邻居目录,但似乎它并没有因为某些原因而抓取我的.html文件.有什么我不了解的for root, dirs, filenames in os.walk()
循环结构?这是我第一次使用os.walk,我已经查看了这个网站上的其他一些页面,试图让它工作.
import os rootdir = 'C:\filepath\amazon' print "point1" for root, dirs, filenames in os.walk(rootdir): print "point2" for file in filenames: with open (os.path.join(root, file), 'r') as myfile: g = myfile.read() print g
任何帮助深表感谢.
反斜杠用作转义.要么将它们加倍,要么在其上加上前缀"r"来使用"原始字符串".
例:
>>> 'C:\filepath\amazon' 'C:\x0cilepath\x07mazon' >>> r'\x' '\\x' >>> '\x' ValueError: invalid \x escape
说明:在Python中,字符串文字前面带有"r"的含义是什么意思?