Python使用BeautifulSoup爬取数据时文本文件无法写入指定路径
问题原因
- 路径定义错误:你给品牌路径加了前缀
/,这会被系统识别为磁盘根目录,而非当前脚本运行目录下你刚创建的品牌文件夹,路径不匹配导致无法写入目标位置。 - 写入时未使用完整路径:你调用
open()函数时仅传入了带后缀的文件名fname,程序只会在当前工作目录新建文件,不会自动放到品牌文件夹中。
修正方案
将你代码中创建文件写入的相关片段替换为以下内容即可:
# 生成存储路径并写入文件 fname = mname + '.txt' # 直接使用品牌名作为相对路径,不要添加前缀斜杠 full_path = os.path.join(str(bname), fname) print(full_path) # 推荐使用with语法管理文件句柄,自动完成关闭操作避免资源泄露 with open(full_path, mode='w', encoding='utf-8') as ff: ff.write("BRAND NAME : " + quote + bname + quote + newline) ff.write("MODEL : " + quote + mname + quote + newline)
可选优化
如果品牌名或型号名包含系统文件名禁止的字符(如/、\、:、*、?、"、<、>、|),可以提前替换字符避免创建文件夹/文件失败,示例:
bname = pmname[0].strip().replace('/', '_').replace('\\', '_').replace(':', '_') mname = pmname[1].strip().replace('/', '_').replace('\\', '_').replace(':', '_')
内容的提问来源于stack exchange,提问作者Harshal Naik
相关产品推荐
相关产品推荐

