python open写入_【Python】使用with open读写文件时,文件不存在没有自动创建
with open(output_filename, "wb") as f:
f.write(html_request.content)
我用这个方法读写文件时,却报错:IOError: [Errno 2] No such file or directory: './output/http%3A//cup.baidu.com/spider'
我一开始很懵逼,明明这个方法,如果文件不存在的话,会自动创建文件的呀。。。而且,我的一级目录是存在的啊!
后来报着试一试的心态,我把output_filename改成了『http%3Acup.comspide』试了试,然后运行就通过了!
所以,最后定位到,肯定是文件名里的 / 未编码造成的!python会把它当成目录去寻找,那output下一层的目录那必然是不存在了。
于是,我就去看了看 output_filename 的生成,如下
output_filename = os.path.join(output_directory, urllib.quote(html))
这一看,我又开始懵逼了,我明明做编码处理了啊?为啥/没处理的
于是又开始百度,结果发现:urllib.quote(string,safe)这个函数是接收两个字段的,一个是需要编码的url地址,另一个safe是指定某个字符不被编码!然后,重点来了,safe默认赋值是『/』
最后,水落石出,更改如下:
output_filename = os.path.join(output_directory, urllib.quote(html, safe='+/'))
就可以了!
输出就变成了:http%3A%2F%2Fcup.com%2Fspider
python open写入_【Python】使用with open读写文件时,文件不存在没有自动创建相关推荐
- 小甲鱼python猜题_[Python]小甲鱼Python视频第033课(except)课后题及参考解答
# -*- coding: utf-8 -*- """ Spyder Editor This is a temporary script file. "&quo ...
- python 病毒 基因_#Python#提取基因对应的蛋白质名
提取基因对应的蛋白质官方名 最开始,是需要将基因跟其编码的蛋白质对应起来,找遍了各种数据库都没发现有相关的注释文件,Uniprot作为处理蛋白质的大佬,结果里都有,肯定有办法能够满足需求. 搜索TP5 ...
- python keyboard模块_[python] PyMouse、PyKeyboard用python操作鼠标和键盘
1.PyUserInput 简介 PyUserInput是一个使用python的跨平台的操作鼠标和键盘的模块,非常方便使用.支持的平台及依赖如下: Linux - Xlib Mac - Quartz, ...
- python客户价值分析_[Python数据挖掘]第7章、航空公司客户价值分析
一.背景和挖掘目标 二.分析方法与过程 客户价值识别最常用的是RFM模型(最近消费时间间隔Recency,消费频率Frequency,消费金额Monetary) 1.EDA(探索性数据分析) #对数据 ...
- python办公代码_[Python] 自动化办公 docx操作Word基础代码
转载请注明:陈熹 chenx6542@foxmail.com (简书号:半为花间酒) 若公众号内转载请联系公众号:早起Python 文中的截图均为原创,转载请注明来源 安装 docx 是一个非标准库, ...
- 如何用python获取文献_[python]eutilities获取文献题录
之前这篇文章(路人乙小明:用entrez eutilities来查pubmed文献)提过如何利用entrez eutilities查找文献.当时在最后面获取论文摘要和题录的部分直接用了text的模式. ...
- python就业视频_[Python] python就业班 900集 视频学习教
01基础\* }+ F/ M- b6 v0 x) F( j% S 02Python核心编程\ 03数据结构与算法\5 C0 ~5 l2 x; S# k2 Z" a/ _" {) q ...
- python私有变量_[Python]Python中的私有变量
什么是private StackOverflow上有一个备受关注的问题,想必也是很多刚从Java等支持面向对象范式的编程语言转来的同学想问的:Python的类是否可以定义私有变量(private va ...
- 查python的软件_[Python实战]Python制作天气查询软件
以前,公众号分享了如何使用 PyQt5 制作猜数游戏和计时器,这一次,我们继续学习:如何使用 PyQt5 制作天气查询软件. 开发环境Python3 PyQt5 requests 准备工作 首先要获取 ...
最新文章
- org.json.JSONException: A JSONObject text must begin with #39;{#39; at character 1 of {解决方法...
- FORK()子进程对父进程打开的文件描述符的处理
- linux arp 防火墙关闭,如何关闭ARP防火墙
- qa/qc_专业QA如何实施可靠的CI / CD管道?
- PID控制器开发笔记之八:带死区的PID控制器的实现
- X86汇编语言从实模式到保护模式13:保护模式程序的动态加载和执行
- 设计模式第四篇-工厂模式
- PC电脑使用无线网卡连接上手机热点,为什么不能上网
- C语言数据结构队列的插入和删除
- 01-初识Node.js
- ML之PDP:机器学习可解释性之部分依赖图(Partial Dependence Plots)之每个特征如何影响您的预测?
- 【第11天】SQL进阶-索引的创建、删除(SQL 小虚竹)
- javascript里将函数名字符串转为函数并执行
- 玫瑰李文案:玫瑰李水果店的文案怎么写
- word文件上传(前后端分离)
- 让 dotnet 命令行输出作为英文的方法
- 【XSS漏洞06】神器beEF的安装与简介
- 名企实习一年我学会15件事(转)
- android与ios的适配,Android及ios适配原理总结
- 老男孩Openstack全新实战课程
热门文章
- 怎么用计算机算自己的月经周期,【月经周期怎么算】月经周期计算器_月经周期怎么算比较准确 - 妈妈网百科...
- 趣店,切莫做了“714高炮”的帮凶
- php分割中文字符串(1个字,多个字)
- 4. Java IO
- P2341 [HAOI2006]受欢迎的牛 (tarjan缩点+出度)
- 用JAVA语言实现一个日历项目
- 2022中国(济南)国际玉米深加工产业展3月启幕
- 利用GeoServer发布地理空间数据服务示例
- 单片机七阶音符_从零开始学单片机(八)蜂鸣器唱歌
- python画菱形的代码_题目:python 打印出如下图案(菱形):