【发布时间】:2013-12-11 22:27:12
【问题描述】:
这是我使用 Python 的第三天,我确信一些简单的事情被忽略了。
我正在尝试索引 html 文件名列表,将索引的 html 文件名设置为 var,然后尝试打开该文件。计划是遍历文件名列表。
不幸的是,var 不是作为文件读取,而是作为名称读取。
我认为这将是一个容易回答的问题,但我只是没有找到它。
那么,我做错了什么?任何帮助将不胜感激。
这是我的代码:
file_list = []
for root, dirs, files in os.walk(r'C:\Aptana\Beautiful'):
for file in files:
if file.endswith('.html'):
file_list.append(file)
input_file = file_list[0]
orig_file = open(input_file, 'w')
我知道我错过了一些简单的东西,但这让我发疯了!
更新:
file_list = []
for root, dirs, files in os.walk(r'C:\Aptana\Beautiful'):
for file in files:
if file.endswith('.html'):
file_list.append(os.path.join(root,file))
input_file = file_list[0]
orig_file = open(input_file, 'w')
soup = BeautifulSoup(orig_file)
title = soup.find('title')
main_txt = soup.findAll(id='main')[0]
toc_txt = soup.findAll(class_ ='toc-indentation')[0]
然后是崩溃:
Traceback (most recent call last):
File "C:\Aptana\beautiful\B-1.py", line 47, in <module>
soup = BeautifulSoup(orig_file)
File "C:\Python33\lib\site-packages\bs4\__init__.py", line 161, in __init__
markup = markup.read()
io.UnsupportedOperation: not readable
感谢广告匠!如果您有任何其他问题,请告诉我。
orig_file 被打印为: <_io.textiowrapper name="C:\Aptana\Beautiful mode=" r encoding="cp1252">
【问题讨论】:
-
这段代码一目了然。 “不作为文件读取而是作为名称读取”是什么意思?该程序的行为是什么,您希望它做什么?