python3

python之文件读写

瘦欲@ 提交于 2020-02-04 04:06:25
本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一、I/O操作概述 I/O在计算机中是指Input/Output,也就是Stream(流)的输入和输出。这里的输入和输出是相对于内存来说的,Input Stream(输入流)是指数据从外(磁盘、网络)流进内存,Output Stream是数据从内存流出到外面(磁盘、网络)。程序运行时,数据都是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方(通常是磁盘、网络操作)就需要IO接口。 那么这个IO接口是由谁提供呢?高级编程语言中的IO操作是如何实现的呢? 操作系统是个通用的软件程序,其通用目的如下: 硬件驱动 进程管理 内存管理 网络管理 安全管理 I/O管理 操作系统屏蔽了底层硬件,向上提供通用接口。因此,操作I/O的能力是由操作系统的提供的,每一种编程语言都会把操作系统提供的低级C接口封装起来供开发者使用,Python也不例外。 二、文件读写实现原理与操作步骤 1. 文件读写实现原理 文件读写就是一种常见的IO操作。那么根据上面的描述,可以推断python也应该封装操作系统的底层接口,直接提供了文件读写相关的操作方法。事实上,也确实如此,而且Java、PHP等其他语言也是。 那么我们要操作的对象是什么呢

猜年龄游戏

不羁的心 提交于 2020-02-04 02:00:25
猜年龄游戏 要求: 允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出 一、代码如下: #!/usr/bin/env python3 # -*- coding:utf-8 -*- # Author: davie ''' 允许用户最多尝试3次,3次都没猜对的话,就直接退出,如果猜对了,打印恭喜信息并退出 ''' count = 0 age = 33 while count <3 : count += 1 age_input = int(input("请输入您猜的年龄-->:")) if age_input > age: print("您猜的年龄大于实际年龄,请下次往小一点猜") elif age_input < age: print("您猜的年龄小于实际年龄,请下次往大一点猜") else: print("恭喜您,猜对了") break if count == 3: print("连续3次猜错,程序退出") 二、测试结果 D:\yc\pycharm\venv\Scripts\python.exe D:/yc/pycharm/python3/guess_age.py 请输入您猜的年龄-->:11 您猜的年龄小于实际年龄,请下次往大一点猜 请输入您猜的年龄-->:22 您猜的年龄小于实际年龄,请下次往大一点猜 请输入您猜的年龄-->:33 恭喜您,猜对了

Python3 UNIX domain sockets使用代码实现

早过忘川 提交于 2020-02-03 15:50:14
一、说明 背景一:大学的时候学网络编程,经常看到说socket有AF_UNIX、AF_INET和AF_INET6三个协议族,AF_UNIX一般不用、AF_INET是IPv4的、AF_INET6是IPv6的。基于这种说教一直以来写网络编程,上来协议族就写AF_INET,AF_UNIX是什么怎么用一直没深究。 背景二:毕业后多接触Linux,也经常用netstat看端口监听情况,在较长一段时间内也不懂“netstat -ltnp”、"netstat -unp",上来就是“netstat -anp”。这样导致的问题就是在最后总是有“Active UNIX domain sockets”一项,而且经常占很长的一个版面,要往前拉很久才能看到前面的tcp和udp。 背景三:今天早上看《Linux内核源代码情景分析》的进程间通信章节,发现AF_UNIX和UNIX domain sockets竟是一个东西,同时解决了两个困惑,真想击节称叹。 二、使用代码实现 2.1 服务端示例代码 import socket class SocketServer: def __init__(self): # 常规tcp监听写法 # server_address = ('127.0.0.1', 9999) # socket_family = socket.AF_INET # socket_type = socket

python标准库之shutil——可操作权限的文件操作库

大憨熊 提交于 2020-02-03 15:06:33
转载自:https://www.jb51.net/article/145522.htm shutil模块提供了许多关于文件和文件集合的高级操作,特别提供了支持文件复制和删除的功能。 文件夹与文件操作 copyfileobj(fsrc, fdst, length=16*1024) : 将fsrc文件内容复制至fdst文件,length为fsrc每次读取的长度,用做缓冲区大小 fsrc: 源文件 fdst: 复制至fdst文件 length: 缓冲区大小,即fsrc每次读取的长度 ? 1 2 3 4 import shutil f1 = open ( "file.txt" , "r" ) f2 = open ( "file_copy.txt" , "a+" ) shutil.copyfileobj(f1,f2,length = 1024 ) copyfile(src, dst) : 将src文件内容复制至dst文件 src: 源文件路径 dst: 复制至dst文件,若dst文件不存在,将会生成一个dst文件;若存在将会被覆盖 follow_symlinks:设置为True时,若src为软连接,则当成文件复制;如果设置为False,复制软连接。默认为True。Python3新增参数 ? 1 2 import shutil shutil.copyfile( "file.txt" ,

Python之文件读写

允我心安 提交于 2020-02-03 10:41:56
本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一、I/O操作概述 I/O在计算机中是指Input/Output,也就是Stream(流)的输入和输出。这里的输入和输出是相对于内存来说的,Input Stream(输入流)是指数据从外(磁盘、网络)流进内存,Output Stream是数据从内存流出到外面(磁盘、网络)。程序运行时,数据都是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方(通常是磁盘、网络操作)就需要IO接口。 那么这个IO接口是由谁提供呢?高级编程语言中的IO操作是如何实现的呢? 操作系统是个通用的软件程序,其通用目的如下: 硬件驱动 进程管理 内存管理 网络管理 安全管理 I/O管理 操作系统屏蔽了底层硬件,向上提供通用接口。因此,操作I/O的能力是由操作系统的提供的,每一种编程语言都会把操作系统提供的低级C接口封装起来供开发者使用,Python也不例外。 二、文件读写实现原理与操作步骤 1. 文件读写实现原理 文件读写就是一种常见的IO操作。那么根据上面的描述,可以推断python也应该封装操作系统的底层接口,直接提供了文件读写相关的操作方法。事实上,也确实如此,而且Java、PHP等其他语言也是。 那么我们要操作的对象是什么呢

python3基础篇05(文件操作)

徘徊边缘 提交于 2020-02-03 08:31:48
文件操作 基本规则: 文件操作 打开文件:open(参数1,参数2,参数3) 参数1:指定文件 参数2:打开的模式 r:读取模式,如果被打开的文件不存在,直接报错 a:追加写入(在文件中原有的内容最后追加写入),被打开的文件不存在,会自动创建一个 w:覆盖写入(清空文件中原有的内容),被打开的文件不存在,会自动创建一个 # 操作一些图片,视频等文件 rb:读取模式,如果被打开的文件不存在,直接报错(以二进制模式去打开文件) ab:追加写入(在文件中原有的内容最后追加写入),被打开的文件不存在,会自动创建一个(以二进制模式去打开文件) wb:覆盖写入(清空文件中原有的内容),被打开的文件不存在,会自动创建一个(以二进制模式去打开文件) 参数3:编码方式("utf-8") 1.打开一个文件 text文件内容 # 打开一个文件,返回一个操作的句柄 f = open(file="text.txt", mode="r", encoding="utf-8") print(f) #显示打印内容的信息 结果: 2.读取文件内容的三种方式 (1)读取全部内容 read() # 打开一个文件,返回一个操作的句柄 f = open(file="text.txt", mode="r", encoding="utf-8") # 读取内容 # 第一种:读取全部的内容 content = f.read()

python3 爬虫总结之代理请求

耗尽温柔 提交于 2020-02-03 08:27:24
1、网页请求、数据请求 urllib.request 请求头中带上headers,模拟浏览器访问网页或者数据请求。 如果在Request中在加入 proxies={'http': IP:Port},可以通过动态IP代理高匿访问资源。通过设置IP端口池,动态随机获取高匿IP端口。推荐西刺代理 https://www.xicidaili.com/nn/ 。 Requests 个人还是比较喜欢Requests,可以使用get,post,以及传入参数等,post请求传递参数时以data={'key1':'value1','key2':'value2'}方式,headers可以设置Content-Type的类型 {'Content-Type':'application/x-www-form-urlencoded'}、{'Content-Type':'multipart/form-data'}、{'Content-Type':'application/json'}、{'Content-Type':'binary'}四种。 注encoding要做utf-8设置。 2、bs4 、BeautifulSoup 数据类型的数据类型包括以下几种 通过遍历html树,可以使用find或者css选择器select或者正则来定位查询要爬虫的数据。 附录w3c shool的爬虫案例教程: https://www

第一次LeetCode周赛心得(力扣-cn周赛,使用python3)

…衆ロ難τιáo~ 提交于 2020-02-03 05:52:22
第一次力扣参赛:第 174 场力扣周赛 第 174 场力扣周赛赛题: https://leetcode-cn.com/circle/discuss/lEfEkb/view/OrAJAh/ 第 174 场力扣周赛国内排名(点击小图标可查看选手代码): https://leetcode-cn.com/contest/weekly-contest-174/ranking/1/ 总体心得 使用python3,做成了第一道题,第二道题的解超时,便结束了第一次周赛。 下午看了排行榜靠前的参赛者代码,最快的在17分钟内就完赛了(使用python3),使用python3的和c++的数量几乎对半分。 先来说个问题:使用python算作弊吗? 我觉得不算,尽管python中有 collections 库这种强大的操作集,但是对不懂数据结构、或没有赛题解决思路的人来说,终究还是没有帮助的。python只是帮助我们把精力全部集中在算法的流程上,而非程序设计与具体实现上(python封装了太多常用操作,减少实现压力)。 况且,c++中也有 vector<>() 、java中也有 hashtable<>() 这种类似的可调用的数据结构对象,来简化操作。因此,python不算作弊。 我目前的编程,都是为了实现强化学习算法,没有涉及到底层系统或者企业级开发,因此选择用python3来刷力扣。 使用c

Python3如何界面操作数据库

只愿长相守 提交于 2020-02-03 04:47:54
写在开始 Python作为一个目前比较热门的新生语言,很值得小伙伴们一学。之前博主讲解了JDBC技术、Hibernate框架、Mybatis框架三种Java操作数据库的方法,但是Java需要找jar包下载,有些小伙伴可能会出现jar包问题导致程序出现报错的情况,因此,今天博主来讲下Python操作数据库的方法,同时制作一个简易界面,可视化地操作数据库! 代码实现 #导入包 #pymysql是python3连接数据库的包 #tkinter是python的GUI界面包 #tkinter.messagebox是消息提示框包 import pymysql import tkinter as tk import tkinter . messagebox #数据库添加操作 def db_add ( ) : #连接数据库 db = pymysql . connect ( host = "localhost" , port = 3306 , user = "root" , password = "123a123a" , db = "test" ) #创建光标 cursor = db . cursor ( ) #编写SQL语句 sql = "insert into book(title,author,price) values('%s','%s',%s)" % ( v1 . get ( ) , v2

坑:pytest 运行报错unknown hook 'pytest_namespace' in plugin <module 'allure.pytest_plugin'

早过忘川 提交于 2020-02-03 03:03:05
右键运行pytest run时报错,原因是pytest版本过高导致的。有时候会遇到在自己本机没问题,拉取服务器代码下来后就出问题了,所以把pytest版本改低就可以,亲测有效,希望对你有帮助 完整报错信息如下: plugins: allure-adaptor-1.7.10, forked-1.0.2, html-1.20.0, metadata-1.8.0, xdist-1.29.0 collected 17 items / 1 errors / 16 selected INTERNALERROR> Traceback (most recent call last): INTERNALERROR> File "C:\Users\Administrator\AppData\Roaming\Python\Python37\site-packages\_pytest\main.py", line 213, in wrap_ session INTERNALERROR> session.exitstatus = doit(config, session) or 0 INTERNALERROR> File "C:\Users\Administrator\AppData\Roaming\Python\Python37\site-packages\_pytest\main.py", line