十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
python一堆文件解压方法如下。
成都创新互联是少有的成都网站设计、成都网站制作、营销型企业网站、微信小程序开发、手机APP,开发、制作、设计、卖友情链接、推广优化一站式服务网络公司,自2013年起,坚持透明化,价格低,无套路经营理念。让网页惊喜每一位访客多年来深受用户好评
压缩包解压要用的是zipfile这个包。
zip_file = zipfile.ZipFile(r'D:\数据源\XX_%s.zip'%yday)
zip_list = zip_file.namelist() # 压缩文件清单,可以直接看到压缩包内的各个文件的明细
for f in zip_list: # 遍历这些文件,逐个解压出来,
zip_file.extract(f,r'D:\数据源')
zip_file.close() # 不能少!
print('昨日日志解压完成,请在文件夹中验收!') # 当然我是不需要查收的(*/ω\*)
这里的解压操作实际就相当于鼠标右键“解压到当前文件夹”的效果。
完成解压后运行.close()是个比较好的习惯,否则可能会导致包括但不限于:
文件会一直被占用着,可能无法重新打开;
在进程结束之前文件都删不掉;
文件内容不能即时 flush 到磁盘直到进程结束;
到此,整个流程在无需打开浏览器和文件夹的情况下便自动完成了。
为了方便日常运行代码,这里把上面的两个流程包装成一个函数,下载解压
#下载昨日日志
def download_XXlog():
yday = (date.today()+timedelta(days=-1)).strftime('%Y%m%d') # 获取昨日日期
r = requests.get(''%yday) # 获取以日期命名的压缩包信息
with open(r'D:\数据源\XX_%s.zip'%yday,'wb') as code: # 将压缩包内容写入到 "D:\数据源\" 下,并按日期命名
code.write(r.content)
print('昨日XX日志下载完成。')
zip_file = zipfile.ZipFile(r'D:\数据源\XX_%s.zip'%yday)
zip_list = zip_file.namelist() # 压缩文件清单,可以直接看到压缩包内的各个文件的明细
for f in zip_list: # 遍历这些文件,逐个解压出来,
zip_file.extract(f,r'D:\数据源')
zip_file.close() # 不能少!
print('昨日日志解压完成,请在文件夹中验收!')
download_XXlog()
拓展
作为拓展,这里再加一个可以根据实际情况输入(input)起始和终止日期,来下载一个特定时间段日志的函数,这里就涉及了datetime和time这两个工具包了。
os 库提供通用的、基本的操作系统交互功能os 库是Python标准库,包含几百个函数,常用的有路径操作、进程管理、环境参数等。
os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令(推荐学习:Python视频教程)
1. os.name——判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix'
2. os.getcwd()——得到当前工作的目录。
3. os.pstdir()——指定所有目录下所有的文件和目录名。
4. os.remove()——删除指定文件
5. os.rmdir()——删除指定目录
6. os.mkdir()——创建目录
注意:这样只能建立一层,要想递归建立可用:os.makedirs()
7. os.path.isfile()——判断指定对象是否为文件。是返回True,否则False
8. os.path.isdir()——判断指定对象是否为目录。是True,否则False。
9. os.path.exists()——检验指定的对象是否存在。是True,否则False.
10. os.path.sppt()——返回路径的目录和文件名。
此处只是把前后两部分分开而已。就是找最后一个'/'。
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python怎么下载os库的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
恰巧今天我在学习PageRank遇到digraph的问题,踩了坑,来分享一下解决过程。其实用from pygraph.classes.digraph import digraph的时候就知道要下载pygraph第三方包。然而用pip install pygraph或者在pycharm里直接用“alt+enter”虽然可以安装成功,并可以复制到项目的site-packages里,但是里面并没有diagram方法可以用。后来便到了gituhb里找到了python-graph-master包,解压后直接把里面的pygraph文件复制到项目的site-packages即可。附上链接网页链接
一些python常用函数包:
1、Urllib3
Urllib3是一个 Python 的 HTTP 客户端,它拥有 Python 标准库中缺少的许多功能:
线程安全
连接池
客户端 SSL/TLS 验证
使用分段编码上传文件
用来重试请求和处理 HTTP 重定向的助手
支持 gzip 和 deflate 编码
HTTP 和 SOCKS 的代理支持
2、Six
six 是一个是 Python 2 和 3 的兼容性库。这个项目旨在支持可同时运行在 Python 2 和 3 上的代码库。它提供了许多可简化 Python 2 和 3 之间语法差异的函数。
3、botocore、boto3、s3transfer、awscli
Botocore是 AWS 的底层接口。Botocore是 Boto3 库(#22)的基础,后者让你可以使用 Amazon S3 和 Amazon EC2 一类的服务。Botocore 还是 AWS-CLI 的基础,后者为 AWS 提供统一的命令行界面。
S3transfer(#7)是用于管理 Amazon S3 传输的 Python 库。它正在积极开发中,其介绍页面不推荐人们现在使用,或者至少等版本固定下来再用,因为其 API 可能发生变化,在次要版本之间都可能更改。Boto3、AWS-CLI和其他许多项目都依赖s3transfer。
4、Pip
pip是“Pip Installs Packages”的首字母递归缩写。
pip很容易使用。要安装一个包只需pip install package name即可,而删除包只需pip uninstall package name即可。
最大优点之一是它可以获取包列表,通常以requirements.txt文件的形式获取。该文件能选择包含所需版本的详细规范。大多数 Python 项目都包含这样的文件。
如果结合使用pip与virtualenv(列表中的 #57),就可以创建可预测的隔离环境,同时不会干扰底层系统,反之亦然。
5、Python-dateutil
python-dateutil模块提供了对标准datetime模块的强大扩展。我的经验是,常规的Python datetime缺少哪些功能,python-dateutil就能补足那一块。
6、Requests
Requests建立在我们的 #1 库——urllib3基础上。它让 Web 请求变得非常简单。相比urllib3来说,很多人更喜欢这个包。而且使用它的最终用户可能也比urllib3更多。后者更偏底层,并且考虑到它对内部的控制级别,它一般是作为其他项目的依赖项。
7、Certifi
近年来,几乎所有网站都转向 SSL,你可以通过地址栏中的小锁符号来识别它。加了小锁意味着与该站点的通信是安全和加密的,能防止窃听行为。
8、Idna
根据其 PyPI 页面,idna提供了“对 RFC5891 中指定的应用程序中国际化域名(IDNA)协议的支持。”
IDNA的核心是两个函数:ToASCII和ToUnicode。ToASCII会将国际 Unicode 域转换为 ASCII 字符串。ToUnicode则逆转该过程。在IDNA包中,这些函数称为idna.encode()和idna.decode()
9、PyYAML
YAML是一种数据序列化格式。它的设计宗旨是让人类和计算机都能很容易地阅读代码——人类很容易读写它的内容,计算机也可以解析它。
PyYAML是 Python 的YAML解析器和发射器,这意味着它可以读写YAML。它会把任何 Python 对象写成YAML:列表、字典,甚至是类实例都包括在内。
10、Pyasn1
像上面的IDNA一样,这个项目也非常有用:
ASN.1 类型和 DER/BER/CER 编码(X.208)的纯 Python 实现
所幸这个已有数十年历史的标准有很多信息可用。ASN.1是 Abstract Syntax Notation One 的缩写,它就像是数据序列化的教父。它来自电信行业。也许你知道协议缓冲区或 Apache Thrift?这就是它们的 1984 年版本。
11、Docutils
Docutils是一个模块化系统,用来将纯文本文档处理为很多有用的格式,例如 HTML、XML 和 LaTeX 等。Docutils能读取reStructuredText格式的纯文本文档,这种格式是类似于 MarkDown 的易读标记语法。
12、Chardet
你可以用chardet模块来检测文件或数据流的字符集。比如说,需要分析大量随机文本时,这会很有用。但你也可以在处理远程下载的数据,但不知道用的是什么字符集时使用它。
13、RSA
rsa包是一个纯 Python 的 RSA 实现。它支持:
加密和解密
签名和验证签名
根据 PKCS#1 1.5 版生成密钥
它既可以用作 Python 库,也能在命令行中使用。
14、Jmespath
JMESPath,发音为“James path”,使 Python 中的 JSON 更容易使用。它允许你声明性地指定如何从 JSON 文档中提取元素。
15、Setuptools
它是用于创建 Python 包的工具。不过,其文档很糟糕。它没有清晰描述它的用途,并且文档中包含无效链接。最好的信息源是这个站点,特别是这个创建 Python 包的指南。
16、Pytz
像dateutils一样,这个库可帮助你处理日期和时间。有时候,时区处理起来可能很麻烦。幸好有这样的包,可以让事情变得简单些。
17、Futures
从 Python 3.2 开始,python 提供current.futures模块,可帮助你实现异步执行。futures 包是该库适用于 Python 2 的 backport。它不适用于 Python3 用户,因为 Python 3 原生提供了该模块。
18、Colorama
使用 Colorama,你可以为终端添加一些颜色:
更多Python知识请关注Python自学网
自动安装
pip install scipy
手工安装
1)访问
根据自己系统及Python版本下载不同的包,如python3.4版本,windows 10 64位系统则下载
scipy‑0.19.1‑cp34‑cp34m‑win_amd64.whl
2) 在开始菜单搜索cmd打开 终端
3) 在终端输入python -m pip install -U pip
4) 找到下载的 scipy‑0.19.1‑cp34‑cp34m‑win_amd64.whl所在的文件夹
5) 在终端打开到上述文件夹目录,输入 pip install scipy‑0.19.1‑cp34‑cp34m‑win_amd64.whl
这样就在win10 64位系统上完成了python3.4版本的scipy库安装!