最近工作当中做了一个项目,这个项目主要是操作文件的. 在操作耗时操作的时候,我们一般采用多线程或者多进程.在开发中,如果多个线程需要对文件进行读写操作,就需要用到线程锁或者是文件锁. 使用fcntl 在Linux下,Python的标准库有线程的文件锁,来自fcntl模块.这个模块提供了Unix系统fcntl()和ioctl()的接口. 对于文件锁的操作,主要需要使用fcntl.flock(fd,operation)这个函数. 其中,参数fd表示文件描述符:参数operation指定要进行的锁操作…
python中操作csv文件 读取csv improt csv f = csv.reader(open("文件路径","r")) for i in f: print(i) 结果会以列表形式输出 写入csv文件 import csv data = [ ('xxx','xxxx','xxxx'), ('xxx','xxxx','xxxx'), ('xxx','xxxx','xxxx') ] f = open('文件路径', 'w') # 创建文件操作对象 writer…
#Python中,对EXCEL文件的读写操作需要安装.导入几个第三方模块#xlrd模块:只能读取EXCEL文件,不能进行写操作#xlwt模块:只能进行写操作,但是不能是覆盖写操作(也就是修改Excel文件),一旦覆盖写操作,会报错#xlutils模块:由于xlrd只能读操作,xlwt不能覆盖写操作,因为涉及到修改Excel文件中的内容,我们需要借助xlutils模块 print("==============读EXCEL文件=============")import xlrd## #打…
背景 json 是一种轻量级的数据交换格式.易于人阅读和编写,同时也易于机器解析和生成. 一般表现形式是一个无序的 键值对 的集合. 资料: 官方文档: https://docs.python.org/3/library/json.html#module-json python操作json的其他方式: simplejson. pyson. Yajl-Py. ultrajson. metamagic.json 编码(dump) 1. 将字符串转化为json串(dumps) import json…
1.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 解析身份证号:生日.性别.出生地等 def function3(): print('请输入身份证号') ID = input() if len(ID) != 18: print('请输入有效的身份证号码') else: print('身份证号码格式正确') birth = ID[6:14] print('您的生日是:', format(birth)) check = ID[14:17] if int(…
由于python 多线程是无法在多核上发挥优势的,所以才用多进程的方式来折中将这个问题解决. from multiprocessing import Pool import os def f(x): #打印变量和每个进程的pid这样在显示结果中可以看出是多进程 print x,os.getpid() return x*x if __name__ == '__main__': #用pool 方法来生成一个进程池,每次可以执行5个进程 p=Pool(5) #这个map函数是 multiprocess…
#文件读写# r只能读不能写,且文件必须存在,w只能写不能读,a只能写不能读# w+是写读模式,清空原文件内容# r+是读写模式,没有清空原文件内容,# 只要有r,文件必须存在,只要有w,都会清空原文件# 如果在open的时候没有指定模式,那就是r的模式打开文件.# a+ 又能写又能读又不校验文件是否存在,还不清空原文件,完美啊# b是2进制的模式打开或者读写.如rb+ wb+ ab+# readline 读一行# readlines 读全部# writelens 写全部f=open('E:\i…
根据项目需求,我们需要记录用户的操作痕迹,当用户下次登录操作同一个文件时,页面显示为用户上一次执行的用户轨迹,我们考虑把用户的历史记录写进xml文件中. 存储的xml数据结构: XML操作类: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; na…
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Set 是一个无序且不容许重复的序列 创建集合有两种方式: 第一种是通过直接创建.例如:s = {11,22} >>> se = {11,222,11,222} >>> print(se) {11, 222} >>> type(se) <class 's…
深浅copy 1,先看赋值运算. l1 = [1,2,3,['barry','alex']] l2 = l1 l1[0] = 111 print(l1) # [111, 2, 3, ['barry', 'alex']] print(l2) # [111, 2, 3, ['barry', 'alex']] l1[3][0] = 'wusir' print(l1) # [111, 2, 3, ['wusir', 'alex']] print(l2) # [111, 2, 3, ['wusir', '…