Johnjgh's blog


  • Home

  • Archives

python 文件读写操作

Posted on 2019-01-09

file = open(file_name,mode)
mode(打开文件的模式):
t 文本模式 (默认)。

x 写模式,新建一个文件,如果该文件已存在则会报错。

b 二进制模式。

+ 打开一个文件进行更新(可读可写)。

r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。

rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。

r+ 打开一个文件用于读写。文件指针将会放在文件的开头。

rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。

w 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

w+ 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。

wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。

a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

file.close():关闭文件
file.read():读取文件
file.seek():将指针定位到指定位置
file.flush():刷新文件,如写文件后不想关闭文件,可以刷新后查看文件。
tell():返回指针当前的位置

file.closed:返回true如果文件已被关闭,否则返回false。
file.mode:返回被打开文件的访问模式。
file.name:返回文件的名称。
file.softspace:如果用print输出后,必须跟一个空格符,则返回false,否则返回true。

注:使用open()打开文件后需要在读写完成后使用close()方法关闭文件。使用with open(‘文件路径’) as f: 可以自动调用f.close()而不需要在后面单独写一行代码关闭文件。

Python os和os.path模块常用的方法

Posted on 2019-01-04

os
os.sep:取代操作系统特定的路径分隔符(如‘\’等)
os.name:指示你正在使用的工作平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’。
os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径。
os.getenv()和os.putenv:分别用来读取和设置环境变量
os.listdir():返回指定目录下的所有文件和目录名
os.remove(file):删除一个文件
os.stat(file):获得文件属性
os.chmod(file):修改文件权限和时间戳
os.mkdir(name):创建目录
os.rmdir(name):删除目录
os.removedirs(r“c:\python”):删除多个目录
os.system():运行shell命令
os.exit():终止当前进程
os.linesep:给出当前平台的行终止符。例如,Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’
os.listdir(dirname):列出dirname下的目录和文件
os.getcwd():获得当前工作目录
os.curdir:返回当前目录(’.’)
os.chdir(dirname):改变工作目录到dirname
os.path
os.path.split():返回一个路径的目录名和文件名
os.path.isfile()和os.path.isdir()分别检验给出的路径是一个目录还是文件
os.path.exists():检验给出的路径是否真的存在
os.path.isdir(name):判断name是不是目录,不是目录就返回false
os.path.isfile(name):判断name这个文件是否存在,不存在返回false
os.path.exists(name):判断是否存在文件或目录name
os.path.getsize(name):或得文件大小,如果name是目录返回0L
os.path.abspath(name):获得绝对路径
os.path.isabs():判断是否为绝对路径
os.path.normpath(path):规范path字符串形式
os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
os.path.splitext():分离文件名和扩展名
os.path.join(path,name):连接目录与文件名或目录
os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路径

Python 列表、元组、字符串、字典和集合常用的内置方法

Posted on 2018-12-25

python中的数据类型主要分为列表list、元组tuple、字符串str、字典dict、集合set。

列表(可变序列)

append():在最后增加一个元素。

extend():扩展列表(用另一个列表)。

count() :计算并返回指定元素的数量。

remove():删除一个元素。

pop():删除并返回最后一个元素。

sort():按照从小到大排序。

insert():在指定位置插入一个元素。

copy():拷贝一个副本。

clear():清空所有元素。

reverse():原地翻转所有的数据。

index():寻找并返回参数的索引值。

通用操作:(s表示列表)
s[i:j:k]切片获取i到j之间的元素,包括i,不包括j,k表示步长,每隔k个获取一个元素。
s[i:j]=t 改变s中一段元素为一个元素t。
del s[i] 删除下标为i的元素。
del s[i:j] 删除一段元素。

元组(不可变序列)

元组中的元素不可删除,不可改变,不可增加,只能用index和count两种方法

字符串(不可变序列)

capitalize():将字符串的第一个字符转换为大写。

center(width, fillchar):返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。

count(str, beg= 0,end=len(string)):返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数。

bytes.decode(encoding=”utf-8”, errors=”strict”):Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。

encode(encoding=’UTF-8’,errors=’strict’):以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是’ignore’或者’replace’。

endswith(suffix, beg=0, end=len(string)):检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,如果是,返回 True,否则返回 False。

expandtabs(tabsize=8):把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。

find(str, beg=0 end=len(string)):检测 str 是否包含在字符串中 中,如果 beg 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1。

index(str, beg=0, end=len(string)):跟find()方法一样,只不过如果str不在字符串中会报一个异常。

isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。

isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。

isdigit():如果字符串只包含数字则返回 True 否则返回 False。

islower():如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False。

isnumeric():如果字符串中只包含数字字符,则返回 True,否则返回 False。

isspace():如果字符串中只包含空格,则返回 True,否则返回 False。

istitle():如果字符串是标题化的(见 title())则返回 True,否则返回 False。

isupper():如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False。

join(seq):以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串。

ljust(width[, fillchar]):返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。

lower():转换字符串中所有大写字符为小写。

lstrip():截掉字符串左边的空格。

maketrans():创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。

replace(old, new [, max]):把将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。

rfind(str, beg=0,end=len(string)):类似于 find()函数,不过是从右边开始查找。

rindex( str, beg=0, end=len(string)):类似于 index(),不过是从右边开始。

rjust(width,[, fillchar]):返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串。

rstrip()删除字符串字符串末尾的空格。

split(str=””, num=string.count(str)):num=string.count(str))以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串。

splitlines([keepends]):按照行(‘\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。

startswith(str, beg=0,end=len(string)):检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。

strip([chars]):在字符串上执行 lstrip()和 rstrip()。

swapcase():将字符串中大写转换为小写,小写转换为大写。

title():返回”标题化”的字符串,就是说所有单词都是以大写开始,其余字母均为小写。

translate(table, deletechars=””)
根据 str 给出的表(包含 256 个字符)转换 string 的字符,要过滤掉的字符放到 deletechars 参数中

upper():转换字符串中的小写字母为大写 zfill (width)。

zfill (width):返回长度为 width 的字符串,原字符串右对齐,前面填充0

isdecimal():检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。

字典(映射)

dict.clear():删除字典内所有元素。

dict.copy():返回一个字典的浅复制。

dict.fromkeys(seq[, val]):创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值。

dict.get(key, default=None):返回指定键的值,如果值不在字典中返回default值。

dict.has_key(key):如果键在字典dict里返回true,否则返回false。

dict.items():以列表返回可遍历的(键, 值) 元组数组。

dict.keys():以列表返回一个字典所有的键。

dict.setdefault(key, default=None):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default。

dict.update(dict2):把字典dict2的键/值对更新到dict里。

dict.values():以列表返回字典中的所有值。

pop(key[,default]):删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

popitem():随机返回并删除字典中的一对键和值。

集合:确定性、互异性、无序性

add():为集合添加元素。

clear():移除集合中的所有元素。

copy():拷贝一个集合。

difference():返回多个集合的差集。

pop():随机移除元素。

remove():移除指定元素。

union():返回两个集合的并集。

update():给集合添加元素,必须传入一个集合。

12

Johnjgh

13 posts
© 2020 Johnjgh
Powered by Hexo
|
Theme — NexT.Mist v5.1.4