os.walk()没有拿起我的文件名

use*_*978 4 python os.walk

我正在尝试使用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
Run Code Online (Sandbox Code Playgroud)

任何帮助深表感谢.

joh*_*all 6

反斜杠用作转义.要么将它们加倍,要么在其上加上前缀"r"来使用"原始字符串".

例:

>>> 'C:\filepath\amazon'
'C:\x0cilepath\x07mazon'
>>> r'\x'
'\\x'
>>> '\x'
ValueError: invalid \x escape
Run Code Online (Sandbox Code Playgroud)

说明:在Python中,字符串文字前面带有"r"的含义是什么意思?