当前位置:文档之家› python文件和目录操作方法大全

python文件和目录操作方法大全

python文件和目录操作方法大全
python文件和目录操作方法大全

python文件和目录操作方法大全(含实例)

这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块、方法,并列举了一个综合实例,需要的朋友可以参考下

一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。

1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()

2.返回指定目录下的所有文件和目录名:os.listdir()

3.函数用来删除一个文件:os.remove()

4.删除多个目录:os.removedirs(r“c:\python”)

5.检验给出的路径是否是一个文件:os.path.isfile()

6.检验给出的路径是否是一个目录:os.path.isdir()

7.判断是否是绝对路径:os.path.isabs()

8.检验给出的路径是否真地存:os.path.exists()

9.返回一个路径的目录名和文件名:os.path.split() eg os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')

10.分离扩展名:os.path.splitext()

11.获取路径名:os.path.dirname()

12.获取文件名:os.path.basename()

13.运行shell命令: os.system()

14.读取和设置环境变量:os.getenv() 与os.putenv()

15.给出当前平台使用的行终止符:os.linesep Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'

16.指示你正在使用的平台:https://www.doczj.com/doc/577225745.html, 对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'

17.重命名:os.rename(old,new)

18.创建多级目录:os.makedirs(r“c:\python\test”)

19.创建单个目录:os.mkdir(“test”)

20.获取文件属性:os.stat(file)

21.修改文件权限与时间戳:os.chmod(file)

22.终止当前进程:os.exit()

23.获取文件大小:os.path.getsize(filename)

二、文件操作方法大全:

1.os.mknod("test.txt") #创建空文件

2.fp = open("test.txt",w) #直接打开一个文件,如果文件不存在则创建文件

3.关于open 模式:

复制代码代码如下:

w:以写方式打开,

a:以追加模式打开(从EOF 开始, 必要时创建新文件)

r+:以读写模式打开

w+:以读写模式打开(参见w )

a+:以读写模式打开(参见a )

rb:以二进制读模式打开

wb:以二进制写模式打开(参见w )

ab:以二进制追加模式打开(参见a )

rb+:以二进制读写模式打开(参见r+ )

wb+:以二进制读写模式打开(参见w+ )

ab+:以二进制读写模式打开(参见a+ )

fp.read([size]) #size为读取的长度,以byte为单位

fp.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分

fp.readlines([size]) #把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。

fp.write(str) #把str写到文件中,write()并不会在str后加上一个换行符

fp.writelines(seq) #把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。

fp.close() #关闭文件。python会在一个文件不用后自动关闭文件,不过这一功能没有保证,最好还是养成自己关闭的习惯。如果一个文件在关闭后还对其进行操作会产生ValueError

fp.flush() #把缓冲区的内容写入硬盘

fp.fileno() #返回一个长整型的”文件标签“

fp.isatty() #文件是否是一个终端设备文件(unix系统中的)

fp.tell() #返回文件操作标记的当前位置,以文件的开头为原点

fp.next() #返回下一行,并将文件操作标记位移到下一行。把一个file用于for …in file这样的语句时,就是调用next()函数来实现遍历的。

fp.seek(offset[,whence]) #将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了whence参数就不一定了,whence 可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。

fp.truncate([size]) #把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。如果size比文件的大小还要大,依据系统的不同可能是不改变文件,也可能是用0把文件补到相应的大小,也可能是以一些随机的内容加上去。

三、目录操作方法大全

1.创建目录

os.mkdir("file")

2.复制文件:

shutil.copyfile("oldfile","newfile") #oldfile和newfile都只能是文件

shutil.copy("oldfile","newfile") #oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

3.复制文件夹:

4.shutil.copytree("olddir","newdir") #olddir和newdir都只能是目录,且newdir必须不存在

5.重命名文件(目录)

os.rename("oldname","newname") #文件或目录都是使用这条命令

6.移动文件(目录)

shutil.move("oldpos","newpos")

7.删除文件

os.remove("file")

8.删除目录

os.rmdir("dir") #只能删除空目录

shutil.rmtree("dir") #空目录、有内容的目录都可以删

9.转换目录

os.chdir("path") #换路径

四、文件综合操作实例

将文件夹下所有图片名称加上'_fc'

python代码:

复制代码代码如下:

# -*- coding:utf-8 -*-

import re

import os

import time

#str.split(string)分割字符串

#'连接符'.join(list) 将列表组成字符串

def change_name(path):

global i

if not os.path.isdir(path) and not os.path.isfile(path):

return False

if os.path.isfile(path):

file_path = os.path.split(path) #分割出目录与文件

lists = file_path[1].split('.') #分割出文件与文件扩展名

file_ext = lists[-1] #取出后缀名(列表切片操作)

img_ext = ['bmp','jpeg','gif','psd','png','jpg']

if file_ext in img_ext:

os.rename(path,file_path[0]+'/'+lists[0]+'_fc.'+file_ext)

i+=1 #注意这里的i是一个陷阱

#或者

#img_ext = 'bmp|jpeg|gif|psd|png|jpg'

#if file_ext in img_ext:

# print('ok---'+file_ext)

elif os.path.isdir(path):

for x in os.listdir(path):

change_name(os.path.join(path,x)) #os.path.join()在路径处理上很有用img_dir = 'D:\\xx\\xx\\images'

img_dir = img_dir.replace('\\','/')

start = time.time()

i = 0

change_name(img_dir)

c = time.time() - start

print('程序运行耗时:%0.2f'%(c))

print('总共处理了%s 张图片'%(i))

输出结果:

复制代码代码如下:

程序运行耗时:0.11

总共处理了109 张图片

Python OS模块(常见文件操作示例)

Python常见文件操作示例 2. 3. os.path 模块中的路径名访问函数 4. 分隔 5. basename() 去掉目录路径, 返回文件名 6. dirname() 去掉文件名, 返回目录路径 7. join() 将分离的各部分组合成一个路径名 8. split() 返回(dirname(), basename()) 元组 9. splitdrive() 返回(drivename, pathname) 元组 10. splitext() 返回(filename, extension) 元组 11. 12. 信息 13. getatime() 返回最近访问时间 14. getctime() 返回文件创建时间 15. getmtime() 返回最近文件修改时间 16. getsize() 返回文件大小(以字节为单位) 17. 18. 查询 19. exists() 指定路径(文件或目录)是否存在 20. isabs() 指定路径是否为绝对路径 21. isdir() 指定路径是否存在且为一个目录 22. isfile() 指定路径是否存在且为一个文件 23. islink() 指定路径是否存在且为一个符号链接 24. ismount() 指定路径是否存在且为一个挂载点 25. samefile() 两个路径名是否指向同个文件 26. 27. os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false 28. os.path.isfile(name):判断name是不是一个文件,不存在name也返回false 29. os.path.exists(name):判断是否存在文件或目录name 30. os.path.getsize(name):获得文件大小,如果name是目录返回0L 31. os.path.abspath(name):获得绝对路径 32. os.path.normpath(path):规范path字符串形式 33. os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在) 34. os.path.splitext():分离文件名与扩展名 35. os.path.join(path,name):连接目录与文件名或目录 36. os.path.basename(path):返回文件名 37. os.path.dirname(path):返回文件路径 38. 39. 40. os模块中的文件操作: 41. os 模块属性

第10章 Python操作数据库

第10 章Python 操作数据库 Python 数据分析(进阶篇)

主要内容CONTENTS 02结构化查询语言SQL 03操作数据库核心API 04Python操作数据库案例01数据库基础

01数据库基础

Python操作数据库 数据库基础 数据库是数据的仓库,将大量数据按照一定的方式组织并存储起来,方便进行管理和维护,例如快速检索和统计等。数据库的主要特点: ?以一定的方式组织、存储数据; ?能为多个用户共享; ?与程序彼此独立。 ?…… 数据库管理系统是一种操纵和管理数据库的大型软件。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员通过DBMS进行数据库的维护工作。主要功能包括:数据定义(创建数据库、表等)、数据操纵(增删查改等)、数据库控制(并发、权限等)、数据库维护(转存、恢复等)等。

Python操作数据库 常见的数据库类型 当前常见的数据库类型有:关系型数据库、键值存储数据库、面向文档数据库、图数据库等。 ?关系型数据库:当前应用最广泛的数据库类型,把复杂的数据结构归结为简单的二元关系(即二维表形式),例如MySQL、SQL Server、Oracle、SQLite等; ?键值存储数据库:使用简单的键值方法来存储数据,其中键作为唯一标记,是一种 非关系数据库,例如Redis; ?面向文档数据库:用于存放并获取文档,主要是XML、JSON等具备自我描述特性、呈现层次结构的文档,例如MongoDB; ?图数据库:一种存储图关系的数据库,应用图理论存储实体之间的关系信息,例如Neo4J。

用Python实现数据库编程

破釜沉舟: 为网站站长.设计师.编程开发者. 提供资源!https://www.doczj.com/doc/577225745.html, 用Python实现数据库编程 文章类别:Python 发表日期:2004-11-11 来源: CSDN 作者: wfh_178 <用PYTHON进行数据库编程> 老巫 2003.09.10 19 September, 2003 用PYTHON语言进行数据库编程, 至少有六种方法可供采用. 我在实际项目中采用,不但功能强大,而且方便快捷.以下是我在工作和学习中经验总结. 方法一:使用DAO (Data Access Objects) 这个第一种方法可能会比较过时啦.不过还是非常有用的. 假设你已经安装好了PYTHONWIN,现在开始跟我上路吧…… 找到工具栏上ToolsàCOM MakePy utilities,你会看到弹出一个Select Library的对话框, 在列表中选择'Microsoft DAO 3.6 Object Library'(或者是你所有的版本). 现在实现对数据的访问: #实例化数据库引擎 import win32com.client engine = win32com.client.Dispatch("DAO.DBEngine.35") #实例化数据库对象,建立对数据库的连接 db = engine.OpenDatabase(r"c:\temp\mydb.mdb") 现在你有了数据库引擎的连接,也有了数据库对象的实例.现在就可以打开一个recordset了. 假设在数据库中已经有一个表叫做 'customers'. 为了打开这个表,对其中数据进行处理,我们使用下面的语法: rs = db.OpenRecordset("customers") #可以采用SQL语言对数据集进行操纵 rs = db.OpenRecordset("select * from customers where state = 'OH'") 你也可以采用DAO的execute方法. 比如这样: db.Execute("delete * from customers where balancetype = 'overdue' and name = 'bill'") #注意,删除的数据不能复原了J

python操作数据库PostgreSQL

python操作数据库PostgreSQL 1.简述 python可以操作多种数据库,诸如SQLite、MySql、PostgreSQL等,这里不对所有的数据库操作方法进行赘述,只针对目前项目中用到的PostgreSQL做一下简单介绍,主要包括python 操作数据库插件的选择、安装、简单使用方法、测试连接数据库成功。 2.数据库操作插件的选择 PostgreSQL至少有三个python接口程序可以实现访问,包括PsyCopg、PyPgSQL、PyGreSQL(PoPy已经整合在PyGreSQL中),三个接口程序各有利弊,需要根据实践选择最适合项目的方式。 推荐使用PsyCopg,对python开发框架的兼容性都很好,本文中我们只讨论这个插件。 3.PsyCopg的下载 官网下载psycopg2-2.5.1.tar.gz:https://www.doczj.com/doc/577225745.html,/psycopg/ 本文使用windows系统开发,未使用官网版本,选择 psycopg2-2.4.2.win-amd64-py2.7-pg9.0.4-release.exe版,地址: https://www.doczj.com/doc/577225745.html,/s/Cd8pPaw56Ozys 4.PsyCopg的安装 直接exe,根据提示安装即可. ------------------------------------------------ 博主经营一家发饰淘宝店,都是纯手工制作哦,开业冲钻,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持! 店名: 小鱼尼莫手工饰品店 经营: 发饰、头花、发夹、耳环等(手工制作) 网店: https://www.doczj.com/doc/577225745.html,/ --------------------------------------------------------------------- 继续正题... 5.PsyCopg的使用 py文件代码: __author__ = 'qiongmiaoer'

python文件和目录操作方法大全

python文件和目录操作方法大全(含实例) 这篇文章主要介绍了python文件和目录的操作方法,简明总结了文件和目录操作中常用的模块、方法,并列举了一个综合实例,需要的朋友可以参考下 一、python中对文件、文件夹操作时经常用到的os模块和shutil模块常用方法。 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件和目录名:os.listdir() 3.函数用来删除一个文件:os.remove() 4.删除多个目录:os.removedirs(r“c:\python”) 5.检验给出的路径是否是一个文件:os.path.isfile() 6.检验给出的路径是否是一个目录:os.path.isdir() 7.判断是否是绝对路径:os.path.isabs() 8.检验给出的路径是否真地存:os.path.exists() 9.返回一个路径的目录名和文件名:os.path.split() eg os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt') 10.分离扩展名:os.path.splitext() 11.获取路径名:os.path.dirname() 12.获取文件名:os.path.basename() 13.运行shell命令: os.system() 14.读取和设置环境变量:os.getenv() 与os.putenv() 15.给出当前平台使用的行终止符:os.linesep Windows使用'\r\n',Linux使用'\n'而Mac使用'\r' 16.指示你正在使用的平台:https://www.doczj.com/doc/577225745.html, 对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix' 17.重命名:os.rename(old,new) 18.创建多级目录:os.makedirs(r“c:\python\test”) 19.创建单个目录:os.mkdir(“test”) 20.获取文件属性:os.stat(file) 21.修改文件权限与时间戳:os.chmod(file) 22.终止当前进程:os.exit() 23.获取文件大小:os.path.getsize(filename) 二、文件操作方法大全: 1.os.mknod("test.txt") #创建空文件 2.fp = open("test.txt",w) #直接打开一个文件,如果文件不存在则创建文件 3.关于open 模式: 复制代码代码如下: w:以写方式打开, a:以追加模式打开(从EOF 开始, 必要时创建新文件) r+:以读写模式打开 w+:以读写模式打开(参见w ) a+:以读写模式打开(参见a ) rb:以二进制读模式打开

2020年python的面试题整理数据库篇

2020年python的面试题整理数据库篇MySQL 198.主键超键候选键外键 主键:数据库表中对存储数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null). 超键:在关系中能唯一标识元组的属性集称为关系模式的超键。一个属性可以作为一个超键,多个属性组合在一起也可以作为一个超键。超键包含候选键和主键。 候选键:是最小超键,即没有冗余元素的超键。 外键:在一个表中存在的另一个表的主键称此表的外键。 199.视图的作用,视图可以更改么? 视图是虚拟的表,与包含数据的表不一样,视图只包含使用时动态检索数据的查询;不包含任何列或数据。使用视图可以简化复杂的sql操作,隐藏具体的细节,保护数据;视图创建后,可以使用与表相同的方式利用它们。 视图不能被索引,也不能有关联的触发器或默认值,如果视图本身内有order by则对视图再次order by将被覆盖。 创建视图:create view xxx as xxxxxx 对于某些视图比如未使用联结子查询分组聚集函数Distinct Union等,是可以对其更新的,对视图的更新将对基表进行更新;但是视图主要用于简化检索,保护数据,并不用于更新,而且大部分视图都不可以更新。 200.drop,delete与truncate的区别 drop直接删掉表,truncate删除表中数据,再插入时自增长id又从1开始,delete删除表中数据,可以加where字句。 1.delete 语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行回滚操作。truncate table则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器,执行速度快。

PYTHON文件操作

一、python文件操作 1.import glob目录操作 查看目录内容: filelist=glob.glob(‘*.*’) filelist=glob.glob(‘c:\*’) 查看指定类型的文件: filelist=glob.glob(‘c:\*.sys’) 为了显示一个目录中的全部文件,可以使用如下所示的os.listdir函数: files=os.listdir(r’C:\hpl\scripting\src\py\intro’)#适用于Windows files=os.listdir(’/home/hpl/scripting/src/py/intro’)#适用于Unix files=os.listdir("d:\python26") files=os.listdir("c:\\") #跨平台版本: files=os.listdir(os.path.join(os.environ[’scripting’],’src’,’py’,’intro’)) files=os.listdir(os.curdir)#当前目录中的所有文件 files=glob.glob(’*’)+glob.glob(’.*’) 二、测试文件类型 我们知道,文件名、目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名、目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfile函数、isdir函数和islink函数来达成我们的目标,如下所示: print myfile,’是一个’, if os.path.isfile(myfile): print’plain file’ if os.path.isdir(myfile): print’directory’ if os.path.islink(myfile): print’link’ 您还可以查找文件的日期及其大小: time_of_last_access=os.path.getatime(myfile) time_of_last_modification=os.path.getmtime(myfile) size=os.path.getsize(myfile) 三文件时间 time_of_last_access=os.path.getatime(myfile) time_of_last_modification=os.path.getmtime(myfile) size=os.path.getsize(myfile) 这里的时间以秒为单位,并且从1970年1月1日开始算起。为了获取以天为单位的最后访问日期,可以使用下列代码: import time#time.time()返回当前时间 age_in_days=(time.time()-time_of_last_access)/(60*60*24) 四文件详细信息 为了获取文件的详细信息,可以使用os.stat函数和stat模块中的其它实用程序来达到目的,如下: import stat

python文件操作笔记

python文件操作笔记 文件操作:长期保存数据以便重复使用、修改和共享,必须将数据以文件的形式存储到外部存储介质或云盘中。按文件中数据的组织形式可以把文件分文本文件和二进制文本。 1.文本文件 文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符"\n"结尾。常规字符串是指记事本或其他文本编辑器能正常显示,编辑并且能够直接阅读和理解的字符串,如英文、汉字、数字字符串。 2.二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用记事本或其他普通文本处理软件直接编辑,通常需要专门的软件才能显示、修改编辑或执行。常见的图形文件、音频文件、可执行文件、资源文件、各种数据库文件等属于二进制文件。 python内置了文件对象,通过open()函数即可以指定的模式打开指定文件或创建文件对象,格式如下: 文件对象名=open (文件名,[打开方式,缓冲区]) 文件打开模式文件对象属性 模说明属性

r 读模式 closed 判断文件是否关闭,若文件关闭,则返 回True w 写模式 mode 返回文件的打开模式 a 追加模式 name 返回文件的名称 b 二进制模式(可与其他模式组合 使用) + 读写模式(可与其他模式组合使 用) 文件对象常用方法: 方法 功能说明 read([size]) 从文件中读取size 个字节 readline() 从文本文件中读取一行内容作为结果返回 readlines() 从文本文件中的每行文本作为一个字符串存入列表中,返回 该列表 seek(offset[,whence]) 把文件指针移动到新的位置,offset 表示相对于whence 的 位置 tell() 返回文件指针的当前位置 write(s) 把字符串s 的内容写入文件 writelns() 把字符串列表写入文本文件,不添加换行符

PYTHON之SQLITE数据库应用简单应用与讲解

Python与SQLite数据库应用系统 --Python之SQLite数据库应用 作者:XX (XXXX学院,班级:XX班) 摘要:Python自带一个轻量级的关系型数据库SQLite。这一数据库使用SQL语言。SQLite作为后端数据库,可以制作有数据存储需求的工具。Python标准库中的sqlite3提供该数据库的接口。现在作为初学者,我将进行初步的尝试与应用。 关键字:Python;SQLite;应用;数据库;编程 一·Python与SQLite数据库关系学习初步 作为新时代的大学生学会使用网络查询相关信息非常重要,现在经过初步的网络学习以及书籍查询,现在整理如下: (一)创建数据库 注:全文学习范例将以一个简单的关系型数据库为实例,为一个书店存储书的分类和价格。数据库中包含两个表:category用于记录分类,book用于记录某个书的信息。一本书归属于某一个分类,因此book 有一个外键(foreign key),指向catogory表的主键id。 (一)导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~ 在调用connect函数的时候,指定库名称,如果指定的数据库存在就直接打开这个数据库,如果不存在就新创建一个再打开。也可以创建数据库在内存中。 在使用connect()连接数据库后,我就可以通过定位指针cursor,来执行SQL命令:import sqlite3

#test.db is a file in the working directory. conn=sqlite3.connect("test.db") c=conn.cursor() #create tables c.execute('''CREATE TABLE category (id int primary key,sort int,name text)''') c.execute('''CREATE TABLE book (id int primary key, sort int, name text, price real, category int, FOREIGN KEY(category)REFERENCES category(id))''') #save the changes https://www.doczj.com/doc/577225745.html,mit() #close the connection with the database conn.close() SQLite的数据库是一个磁盘上的文件,如上面的test.db,因此整个数据库可以方便的移动或复制。test.db一开始不存在,所以SQLite将自动创建一个新文件。 利用execute()命令,我们执行了两个SQL命令,创建数据库中的两个表。创建完成后,保存并断开数据库连接。 (二)插入数据 上面创建了数据库和表,确立了数据库的抽象结构。下面将在同一数据库中插入数据: import sqlite3 conn=sqlite3.connect("test.db")

【IT专家】Python文件操作及文件夹遍历

本文由我司收集整编,推荐下载,如有疑问,请与我司联系 Python文件操作及文件夹遍历 2013/12/07 808 ?os.getcwd() 得到当前工作目录,即当前Python脚本工作的目录路径os.listdir() 返回指定目录下的所有文件和目录名os.remove() 函数用来删除一个文件os.removedirs(r“c:\python”)删除多个目录os.path.isfile() 检验给出的路径是否是一个文件os.path.isdir() 检验给出的路径是否是一个目录os.path.isabs() 判断是否是绝对路径os.path.exists() 检验给出的路径是否真地存os.path.split() 返回一个路径的目录名和文件名eg: os.path.split(‘/home/swaroop/byte/code/poem.txt’) 结果:(‘/home/swaroop/byte/code’, ‘poem.txt’) os.path.splitext() 分离扩展名os.path.dirname() 获取路径名os.path.basename() 获取文件名os.system() 运行shell命令os.getenv() 与os.putenv()读取和设置环境变量os.linesep Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’ 给出当前平台使用的行终止符https://www.doczj.com/doc/577225745.html, 对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’指示你正在使用的平台os.rename(old,new)重命名os.makedirs(r“c:\python\test”)创建多级目录os.mkdir(“test”)创建单个目录os.stat(file)获取文件属性os.chmod(file)修改文件权限与时间戳os.exit()终止当前进程os.path.getsize(filename)获取文件大小 ?文件操作:os.mknod(“test.txt”) 创建空文件fp = open(“test.txt”,w) 直接打开一个文件,如果文件不存在则创建文件 ?关于open 模式: ?w以写方式打开,a以追加模式打开(从EOF 开始, 必要时创建新文件)r+以读写模式打开w+以读写模式打开(参见w )a+以读写模式打开(参见 a )rb以二进制读模式打开wb以二进制写模式打开(参见w )ab以二进制追加模式打开(参见a )rb+以二进制读写模式打开(参见r+ )wb+以二进制读写模式打开(参见w+ )ab+以二进制读写模式打开(参见a+ ) ? fp.read([size])#size为读取的长度,以byte为单位

python中cursor操作数据库

python中cursor操作数据库 python 操作数据库,要安装一个Python和数据库交互的包MySQL-python-1.2.2.win32-py2.5.exe,然后我们就可以使用MySQLdb这个包进行数据库操作了。 操作步骤如下: 1、建立数据库连接 importMySQLdb conn=MySQLdb.connect(host="localhost",user="root",passw d="sa",db="mytable") cursor=conn.cursor() 2、执行数据库操作 n=cursor.execute(sql,param) 我们要使用连接对象获得一个cursor对象,接下来,我们会使用cursor提供的方法来进行工作. 这些方法包括两大类:1.执行命令,2.接收返回值 cursor用来执行命令的方法: callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数 execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数 executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数

nextset(self):移动到下一个结果集 cursor用来接收返回值的方法: fetchall(self):接收全部的返回结果行. fetchmany(self, size=None):接收size条返回结果行.如果size 的值大于返回的结果行的数量,则会返回cursor.arraysize条数据. fetchone(self):返回一条结果行. scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果 mode='absolute',则表示从结果集的第一行移动value条. 下面的代码是一个完整的例子. #使用sql语句,这里要接收的参数都用%s占位符.要注意的是,无论你要插入的数据是什么类型,占位符永远都要用%s sql="insert into cdinfo values(%s,%s,%s,%s,%s)" #param应该为tuple或者list param=(title,singer,imgurl,url,alpha) #执行,如果成功,n的值为1 n=cursor.execute(sql,param) #再来执行一个查询的操作 cursor.execute("select * from cdinfo") #我们使用了fetchall这个方法.这样,cds里保存的将会是查询返回的全部结果.每条结果都是一个tuple类型的数据,这些tuple组成了一个tuple

PYTHON数据库管理

98-364模拟题 1、您有一个数据库表,其中存储关于学生考勤的信息。还有一个按如下方式定义的数据集: 3、哪条语句将创建索引? A create table employee(employeeID integer distinct) B create table employee(employeeID integer primary key) C create table employee(employeeI D integer index) D create table employee(employeeID integer null) 参考答案:b 创建主键的时候将自动创建索引

4、您正在创建一个名为Student的数据库对象以存储以下数据: A create (table Student ID INT,Name VARCHAR(100),Age INT) B create table Student (ID INT,Name VARCHAR(100),Age INT) C create Student (I D INT,Name VARCHAR(100),Age INT) D create table( ID INT,Name VARCHAR(100),Age INT) 参考答案:b 5、您需要设置一个数据库以提供北美哺乳动物的视图。 请将结构化查询语言(SQL)语句与SQL查询进行匹配 代码段答案区 Create view[dbo].[NorthAmMam_View] Create view[dbo].[NorthAmMam_View] generate view[dbo].[NorthAmMam_View] as select a.Id,https://www.doczj.com/doc/577225745.html, as join a.Id,https://www.doczj.com/doc/577225745.html, from Animal a as select a.Id,https://www.doczj.com/doc/577225745.html, where a.class=’Mammals’ from Animal a and a.InNorthAmerica=1 join Animal a 参考答案:见题目中绿色标注部分 6、您开发一个数据库来存储有关教科书的数据。必须存储数据以供日后处理。 您应该使用哪个数据库对象来存储数据? A 函数 B 视图 C 表 D 存储过程 参考答案:c 7、本问题要求您评估带下划线的文本来判断其对错。 您创建一个表来存储最近发布的视频游戏机器评审得分。 若要创建一个视图以返回按字母顺序排列的游戏名称的列表,完成的SQL语句应如下所示:

python的Mysql数据库连接

#!/ usr/ bin/ env python #-*- encoding: UTF- 8-*- """ 测试MySQL的连接及操作 """ import MySQLdb connstring= "host='localhost',port=3306,user='root',passwd='*****',db='python'" #连接字符串 try: conn= MySQLdb. connect( connstring) except Exception, e: print e break mycursor= conn. cursor() #获取游标,用游标操作数据库 #创建表 ctable="""CREATE TABLE test if not exists(name VARCHAR(30),uid INT(10) primary key)""" mycursor. execute( ctable) #插入数据 insert1="""INSERT INTO test(name='aaa',uid=111)""" insert2="""INSERT INTO test(name='bbb',uid=222)""" insert3="""INSERT INTO test(name='ccc',uid=333)""" inserts=[] inserts[ 0]. append( insert1) inserts[ 1]. append( insert2) inserts[ 2]. append( insert3) for insert in inserts: try: mycursor. execute( insert) except Exception, e: print e #删除数据 #注释掉,下边查询要用到数据,只记录操作 #mycursor. execute("""DELETE FROM test WHERE name='aaa'""") #多表删除 #delmany="""" DELETE FROM table1, table2, table3 WHERE table1. uid= XXX AND table2. uid= table3. uid""" #mycursor.execute(delmany) 继续......

python文件目录操作

[1.os] 1.重命名:os.rename(old, new) 2.删除:os.remove(file) 3.列出目录下的文件:os.listdir(path) 4.获取当前工作目录:os.getcwd() 5.改变工作目录:os.chdir(newdir) 6.创建多级目录:os.makedirs(r"c:/python /test") 7.创建单个目录:os.mkdir("test") 8.删除多个目录:os.removedirs(r"c:/python") #删除所给路径最后一个目录下所有空目录。 9.删除单个目录:os.rmdir("test") 10.获取文件属性:os.stat(file) 11.修改文件权限与时间戳:os.chmod(file) 12.执行操作系统命令:os.system("dir") 13.启动新进程:os.exec(), os.execvp() 14.在后台执行程序:osspawnv() 15.终止当前进程:os.exit(), os._exit() 16.分离文件名:os.path.split(r"c:/python/hello.py") --> ("c://python", "hello.py") 17.分离扩展名:os.path.splitext(r"c:/python/hello.py") --> ("c://python//hello", ".py") 18.获取路径名:os.path.dirname(r"c:/python/hello.py") --> "c://python" 19.获取文件名:os.path.basename(r"r:/python/hello.py") --> "hello.py" 20.判断文件是否存在:os.path.exists(r"c:/python/hello.py") --> True 21.判断是否是绝对路径:os.path.isabs(r"./python/") --> False

经典Python面试题之数据库和缓存

经典Python面试题之数据库和缓存 1. 列举常见的关系型数据库和非关系型都有那些? 2. MySQL常见数据库引擎及比较? 3. 简述数据三大范式? 4. 什么是事务?MySQL如何支持事务? 5. 简述数据库设计中一对多和多对多的应用场景? 6. 如何基于数据库实现商城商品计数器? 7. 常见SQL(必备) 8. 简述触发器、函数、视图、存储过程? 9. MySQL索引种类 10. 索引在什么情况下遵循最左前缀的规则? 11. 主键和外键的区别? 12. MySQL常见的函数? 13. 列举创建索引但是无法命中索引的8种情况。 14. 如何开启慢日志查询? 15. 数据库导入导出命令(结构+数据)? 16. 数据库优化方案? 17. char和varchar的区别? 18. 简述MySQL的执行计划? 19. 在对name做了唯一索引前提下,简述以下区别: select * from tb where name = ‘Oldboy-Wup eiqi’

select * from tb where name = ‘Oldboy-Wupeiqi’ limit 1 20. 1000w条数据,使用limit offset 分页时,为什么越往后翻越慢?如何解决? 21. 什么是索引合并? 22. 什么是覆盖索引? 23. 简述数据库读写分离? 24. 简述数据库分库分表?(水平、垂直) 25. redis和memcached比较? 26. redis中数据库默认是多少个db 及作用? 27. python操作redis的模块? 28. 如果redis中的某个列表中的数据量非常大,如果实现循环显示每一个值? 29. redis如何实现主从复制?以及数据同步机制? 30. redis中的sentinel的作用? 31. 如何实现redis集群? 32. redis中默认有多少个哈希槽? 33. 简述redis的有哪几种持久化策略及比较? 34. 列举redis支持的过期策略。 35. MySQL 里有 2000w 数据,redis 中只存 20w 的数据,如何保证 redis 中都是热点数据? 36. 写代码,基于redis的列表实现先进先出、后进先出队列、优先级队列。

python 文件时间操作

一 按时间创建文件 二 获取环境变量、进程、父进程 三、获取当前文件的创建、修改、访问时间 一 按时间创建文件 源码 # 截图方式二 # coding=utf‐8 import os import time # 当前年月日时分秒时间 2020‐01‐16‐10_11_49 picture_time = time.strftime("%Y‐%m‐%d‐%H_%M_%S", time.localtime(time.time())) #当前年月日 2020‐01‐16 directory_time = time.strftime("%Y‐%m‐%d", time.localtime(time.time())) print('当前年月日时分秒时间:'+ picture_time) print("当前年月日:"+directory_time) # 获取当前文件目录 print('当前文件目录:'+os.getcwd()) # 获取到当前文件的目录,并检查是否有 directory_time 文件夹,如果不存在则自动新建 directory_time 文件 try: File_Path = os.getcwd() + '\\' + directory_time + '\\' print(os.path) #exists判断文件路径是否存在 if not os.path.exists(File_Path): os.makedirs(File_Path) print("目录新建成功:%s" % File_Path) else: print("目录已存在!!!") except BaseException as msg: print("新建目录失败:%s" % msg) #切换目录 os.chdir("D:/git") print('切换后的目录位置:'+os.getcwd()) 源码执行控制台打印: 当前年月日时分秒时间:2020-01-16-11_19_12 当前年月日:2020-01-16 当前文件目录:D:\git\gongcheng 目录新建成功:D:\git\gongcheng\2020-01-16 切换后的目录位置:D:\git

python文件读写

python进行文件读写的函数是open或file file_handler = open(filename,,mode) Table mode 模式描述 r 以读方式打开文件,可读取文件信息。 w 以写方式打开文件,可向文件写入信息。如文件存在,则清空该文件,再写入新内容 a 以追加模式打开文件(即一打开文件,文件指针自动移到文件末尾),如果文件不存在则创建 r+ 以读写方式打开文件,可对文件进行读和写操作。w+ 消除文件内容,然后以读写方式打开文件。 a+ 以读写方式打开文件,并把文件指针移到文件尾。 b 以二进制模式打开文件,而不是以文本模式。该模式只对Windows或Dos有效,类Unix的文件是用二进制模式进行操作的。 Table 文件对象方法 方法描述 f.close() 关闭文件,记住用open()打开文件后一定要记得关闭它,否则会占用系统的可打开文件句柄数。 f.fileno() 获得文件描述符,是一个数字 f.flush() 刷新输出缓存 f.isatty() 如果文件是一个交互终端,则返回True,否则返回False。 f.read([count]) 读出文件,如果有count,则读出count个字节。 f.readline() 读出一行信息。 f.readlines() 读出所有行,也就是读出整个文件的信息。 f.seek(offset[,wh ere]) 把文件指针移动到相对于where的offset位置。where为0表示文件开始处,这是默认值;1表示当前位置;2表示文件结尾。 f.tell() 获得文件指针位置。 f.truncate([size]) 截取文件,使文件的大小为size。 f.write(string) 把string字符串写入文件。 f.writelines(list) 把list中的字符串一行一行地写入文件,是连续写入文件,没有换行。 示例文件如下: #-*- encoding:UTF-8 -*- filehandler = open('c:\\111.txt','r') #以读方式打开文件,rb为二进制方式(如图片或可执行文件等) print 'read() function:' #读取整个文件 print filehandler.read() print 'readline() function:' #返回文件头,读取一行 filehandler.seek(0)

python操作MySQL数据库

python操作MySQL数据库 https://www.doczj.com/doc/577225745.html,/rollenholt/archive/2012/05/29/2524327.html https://www.doczj.com/doc/577225745.html,/rollenholt/archive/2012/05/29/2524327.html 2012-05-29 17:41 by Rollen Holt, 216851 阅读, 29 评论, 收藏, 编辑 坚持每天学一点,每天积累一点点,作为自己每天的业余收获,这个文章是我在吃饭的期间写的,利用自己零散的时间学了一下python操作MYSQL,所以整理一下。 我采用的是MySQLdb操作的MYSQL数据库。先来一个简单的例子吧: 请注意修改你的数据库,主机名,用户名,密码。 下面来大致演示一下插入数据,批量插入数据,更新数据的例子吧:

请注意一定要有https://www.doczj.com/doc/577225745.html,mit()这句来提交事务,要不然不能真正的插入数据。 运行之后我的 MySQL 数据库的结果就不上图了。

运行结果就不贴了,太长了。 查询后中文会正确显示,但在数据库中却是乱码的。经过我从网上查找,发现用一个属性有可搞定:

在Python代码 conn = MySQLdb.Connect(host='localhost', user='root', passwd='root', db='python ') 中加一个属性: 改为: conn = MySQLdb.Connect(host='localhost', user='root', passwd='root', db='python',ch arset='utf8') charset是要跟你数据库的编码一样,如果是数据库是gb2312 ,则写charset='gb2312'。 下面贴一下常用的函数: 然后,这个连接对象也提供了对事务操作的支持,标准的方法 commit() 提交 rollback() 回滚 cursor用来执行命令的方法: callproc(self, procname, args):用来执行存储过程,接收的参数为存储过程名和参数列表,返回值为受影响的行数 execute(self, query, args):执行单条sql语句,接收的参数为sql语句本身和使用的参数列表,返回值为受影响的行数 executemany(self, query, args):执行单挑sql语句,但是重复执行参数列表里的参数,返回值为受影响的行数 nextset(self):移动到下一个结果集 cursor用来接收返回值的方法: fetchall(self):接收全部的返回结果行. fetchmany(self, size=None):接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据. fetchone(self):返回一条结果行. scroll(self, value, mode='relative'):移动指针到某一行.如果mode='relative',则表示从当前所在行移动value条,如果mode='absolute',则表示从结果集的第一行移动value条. 参考资料: MySQLdb‘s user guide package MySQLdb ============================================================= ================= 我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他 们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧

相关主题
文本预览
相关文档 最新文档