《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. fiddler--配置火狐代理配置代理

    fiddler安装 下载fiddler最新版: 默认安装: 配置火狐代理配置代理 打开fiddler 按图操作,复制选中的链接:fiddler -> tool ->connections ...

  2. 初识vuejs

    转行前端,时间也不短了,也见识到了前端行业的蓬勃发展,以及一些新鲜技术的层出不穷. 由于自身计算机基础的薄弱,更加上一直没有遇上一个公司力推新技术,所以一直以来基本上都是靠着jquery和则zepto ...

  3. linux系统上面使用tab补全命令

    tab的模块脚本 [root@centos7 ~]# cat tab.py #!/usr/bin/python3.6 # python startup file import sys import r ...

  4. [PHP-DI] 理解依赖注入

    理解依赖注入 依赖注入 和 依赖注入容器 是不同的: 依赖注入 (Dependency injection) 是编写更好代码的一种方法 容器 (Container) 是帮助注入依赖关系的工具 你不需要 ...

  5. jquery mobile开发中页面跳转后js不执行的问题

    为了实现在移动设备上的无缝客户体验,jQueryMobile默认采用AJAX的方式载入一个目的链接页面.因此,当在浏览器中点击一个链接打一个新的页面时,jQueryMobile接收这个链接,通过AJA ...

  6. 44.纯 CSS 创作背景色块变换的按钮特效

    原文地址:https://segmentfault.com/a/1190000015192218 感想: 伪元素作为背景变化. HTML code: <nav> <ul> &l ...

  7. JUC 之 ThreadPoolExecutor 的一些研究

    ThreadPoolExecutor 概述:===================================================================== 构造函数: 4个 ...

  8. centos7扩展根分区

    参考网站:http://www.360doc.com/content/18/0128/11/52410512_725728162.shtml VirtualBox中安装了CentOS 7,给同事用来做 ...

  9. JDK7和JDK8concurrentHashmap区别

    哈希表 1.介绍 哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值. 哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个 ...

  10. IO 和 NIO 的区别

    IO:阻塞IO,面向流:当一个线程调用read() 或 write()时,该线程被阻塞,直到有一些数据被读取,或数据完全写入,该线程在此期间不能再干任何事情了:可以有少量的连接使用非常高的带宽,一次发 ...