《python爬虫开发与项目实战》基础篇(一)

一.python安装

1.python IDLE

下载官网:www.python.org

注:在选择安装组件时勾选所有组件,特别注意勾选pip和Add python.exe to Path

2.pycharm

下载官网:https://www.jetbrains.com/pycharm/

由JetBrains打造的一款Python IDE,同时支持Google App Engine,IronPython

3.Anaconda

下载官网:https://www.anaconda.com/download/

一个开源的Python发行版本,包含了大量安装好的科学包如:numpy、pandas等

二.IO编程

1.文件读写

打开文件:

open函数中的mode参数:

open函数中的buffering参数:

文件读取与写入:经常用到的方法有read(),readlines(),write(),close()

read(size)一次最多读取size个字节,返回字符串;readlines()一次读取全部内容按行返回列表

文件使用完后必须关闭!使用try...finally进行文件操作防止IO异常

try:
f = open("D:/Python/test.txt","r+") # 'r+' == r+w(可读可写,文件若不存在就报错(IOError))
print(f.read())
f.write("def")
f.seek(0,0) # 把文件指针从末尾移到开头
print(f.read())
finally:
if f:
f.close()

python中可使用with语句替代try...finally代码块和close()方法

with open("D:/Python/test.txt","r+") as f:
print(f.read())
f.write("def")
f.seek(0,0)
print(f.read())

2.目录操作

常用模块:os模块和shutil模块

3.序列化

把内存中的变量变成可存储或可传输的过程就是序列化

python中采用pickle模块实现序列化,主要使用dump方法(将序列化后的对象直接写入文件)或dumps方法(将任意对象序列化成一个str再写入文件保存)

import pickle
d = dict(url="index.html",title="首页",content="首页")
print(pickle.dumps(d))
with open("D:/Python/test.txt","wb") as f:
pickle.dump(d,f)

pickle模块实现反序列化主要使用load方法(将文件直接反序列化为对象)或loads方法(将str反序列化为对象)

with open("D:/Python/test.txt","rb") as f:
d = pickle.load(f)
print(d)
d = pickle.loads(b'\x80\x03}q\x00(X\x03\x00\x00\x00urlq\x01X\n\x00\x00\x00index.htmlq\x02X\x05\x00\x00\x00titleq\x03X\x06\x00\x00\x00\xe9\xa6\x96\xe9\xa1\xb5q\x04X\x07\x00\x00\x00contentq\x05h\x04u.')
print(d)

python安装与IO编程的更多相关文章

  1. python基础之IO编程

    读文件 with open('/path/to/file', 'r') as f: print(f.read()) 调用read()会一次性读取文件的全部内容,read()函数里面可以传入每次最多读取 ...

  2. 【廖雪峰老师python教程】——IO编程

    同步IO 异步IO 最常见的IO——读写文件 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一 ...

  3. python实用笔记——IO编程

    打开文件 f = open('/Users/michael/test.txt', 'r') 再读取 >>> f.read() 'Hello, world!' 最后关闭 >> ...

  4. Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

    IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从 ...

  5. Python之IO编程

    前言:由于程序和运行数据是在内存中驻留的,由CPU这个超快的计算核心来执行.当涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.由于CPU和内存的速度远远高于外设的速度,那么在IO编程中就存在 ...

  6. python异步IO编程(一)

    python异步IO编程(一) 基础概念 协程:python  generator与coroutine 异步IO (async IO):一种由多种语言实现的与语言无关的范例(或模型). asyncio ...

  7. python同步IO编程——基本概念和文件的读写

    IO——Input/Output,即输入输出.对于计算机来说,程序运行时候数据是在内存中的,涉及到数据交换的地方,通常是磁盘.网络等.比如通过浏览器访问一个网站,浏览器首先把请求数据发送给网站服务器, ...

  8. python异步IO编程(二)

    python异步IO编程(二) 目录 开门见山 Async IO设计模式 事件循环 asyncio 中的其他顶层函数 开门见山 下面我们用两个简单的例子来让你对异步IO有所了解 import asyn ...

  9. io编程,python

    IO在计算机中指Input/Output,也就是输入和输出. Stream(流): 可以把流想象成一个水管,数据就是水管里的水,但是只能单向流动.Input Stream就是数据从外面(磁盘.网络)流 ...

随机推荐

  1. Noip数学整理

    目录 Noip数学整理 序 1 取模相关 2 质数相关 3.基本操作 4.方程相关 5.数列相关 6.函数相关 Noip数学整理 序 因为某些原因, Noip对于数学方面的考纲仅停留在比较小的一部分, ...

  2. Call requires permission which may be rejected by user: code should explicitly check to see if permi

    Call requires permission which may be rejected by user: code should explicitly check to see if permi ...

  3. 20165205 2017-2018-2 《Java程序设计》第六周学习总结

    20165205 2017-2018-2 <Java程序设计>第六周学习总结 教材学习内容总结 String类 String对象(常量,对象) 字符串并置(结果仍是常量) 常用方法 len ...

  4. elasticssearch+kibanna入门(撰写中)

    看到一篇elasticssearch+kibanna的文章,觉得很好,不过例子是python的,所以使用java自己安装一下: https://mp.weixin.qq.com/s?__biz=MjM ...

  5. spring controller 获取context

    想要获取context需要先熟悉spring是怎么在web容器中启动的,spring启动过程其实就是其IOC容器的启动过程,对于web程序,IOC容器启动过程即是建立上下文的过程 spring启动过程 ...

  6. yarn application -kill application_id yarn kill 超时任务脚本

    需求:kill 掉yarn上超时的任务,实现不同队列不同超时时间的kill机制,并带有任务名的白名单功能 此为python脚本,可配置crontab使用 # _*_ coding=utf-8 _*_ ...

  7. ELK测试安装

    https://blog.csdn.net/guyan0319/article/details/78749639 https://www.cnblogs.com/frankdeng/p/9139035 ...

  8. JavaScript 字符串拼接 & setInterval()实现简单动画

    在学习JavaScript DOM编程艺术第十章时,遇到了一个小问题: 想要实现的最终效果:一个小方块不断的向下移动. 小方块绝对定位,设置好top与left值后,写了一个动态获取方块到上方距离并在每 ...

  9. ubuntu下如何配置terminator(以16.04为例)(转载)

    https://blog.csdn.net/xungjhj/article/details/69377812 Terminator 常用快捷键 命令 说明 Ctrl+Shift+O 水平分割窗口 Ct ...

  10. 阿里巴巴开源项目: canal

    参考:https://www.cnblogs.com/duanxz/p/5062833.html docker 部署canal :  https://blog.csdn.net/u013705066/ ...