Python3 输入输出和File(文件) 方法Python两种输出值的方式: 表达式语句和 print() 函数 。第三种方式是使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用 。
如果你希望输出的形式更加多样,可以使用 str.format() 函数来格式化输出值 。如果你希望将输出的值转成字符串,可以使用 repr() 或 str() 函数来实现 。
str(): 函数返回一个用户易读的表达形式 。
【python函数只读方法 python只读取文件第一行数据】repr(): 产生一个解释器易读的表达形式 。
str.format() 的使用
读取键盘输入
Python 提供了 input() 内置函数,从标准输入读入一行文本,默认的标准输入是键盘 。
open()用于打开一个文件,并返回文件对象,基本语法格式如下:
open(filename, mode='r')
完整的语法格式为:
open(filename, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
filename: 必需 , 文件路径 文件名称(相对或者绝对路径)
mode: 可选,文件打开模式:只读,写入,追加等 , 默认模式为只读(r)
buffering: 设置缓冲
encoding: 一般使用utf8
errors: 报错级别
newline: 区分换行符
closefd: 传入的file参数类型
opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符 。
不同模式mode打开文件的说明:
t文本模式 (默认的模式)
b二进制模式 , 一般用于非文本文件如图片等
x写模式,新建一个文件,如果该文件已存在则会报错
打开一个文件进行更新(可读可写)
r以只读方式打开文件 。文件的指针将会放在文件的开头 。是默认模式 。
rb以二进制格式打开一个文件用于只读 。文件指针将会放在文件的开头 。
r打开一个文件用于读写 。文件指针将会放在文件的开头 。
rb以二进制格式打开一个文件用于读写 。文件指针将会放在文件的开头 。
w打开一个文件只用于写入 。如果该文件已存在则打开文件 , 并从开头开始编辑,即原有内容会被删除 。如果该文件不存在 , 创建新文件 。
wb以二进制格式打开一个文件只用于写入 。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除 。如果该文件不存在,创建新文件 。
w打开一个文件用于读写 。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除 。如果该文件不存在,创建新文件 。
wb以二进制格式打开一个文件用于读写 。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除 。如果该文件不存在,创建新文件 。
a打开一个文件用于追加 。如果该文件已存在,文件指针将会放在文件的结尾 , 新的内容将会被写入到已有内容之后 。如果该文件不存在,创建新文件进行写入 。
ab以二进制格式打开一个文件用于追加 。如果该文件已存在,文件指针将会放在文件的结尾 , 新的内容将会被写入到已有内容之后 。如果该文件不存在,创建新文件进行写入 。
a打开一个文件用于读写 。如果该文件已存在 , 文件指针将会放在文件的结尾 。文件打开时会是追加模式 。如果该文件不存在,创建新文件用于读写 。
ab以二进制格式打开一个文件用于追加 。如果该文件已存在,文件指针将会放在文件的结尾 。如果该文件不存在,创建新文件用于读写 。
f.write(string) 将 string 写入到文件中, 然后返回写入的字符数
f.writelines(sequence)向文件写入一个序列字符串列表,如果需要换行则要自己加入每行的换行符 。
f.read(size)读取一定数目的数据, 然后作为字符串或字节对象返回 。size 是一个可选参数 。当 size 参数忽略或者为负, 那么该文件的所有内容都将被读取并且返回 。
f.readline()从文件中读取单独的一行 。换行符为 '\n' 。读取整行,包括 "\n" 字符 。f.readline() 如果返回一个空字符串, 说明已经读取到最后一行 。
f.readlines([sizeint])]读取所有行并返回列表类型,若给定sizeint0,返回总和大约为sizeint字节的行, 并且将这些字节按行分割 。实际读取值可能比 sizeint 较大, 因为需要填充缓冲区 。
f.tell()返回文件对象当前所处的位置, 它是从文件开头开始算起的字节数 。
f.seek()移动文件读取指针到指定位置,如果要改变文件当前的位置, 可以使用f.seek(offset, from_what) 函数 。from_what 的值(默认为0), 如果是 0 表示开头, 如果是 1 表示当前位置, 2 表示文件的结尾 , 例如:
seek(x,0) : 从起始位置即文件首行首字符开始移动 x 个字符
seek(x,1) : 表示从当前位置往后移动x个字符
seek(-x,2):表示从文件的结尾往前移动x个字符
file.flush()刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入
file.fileno()返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上
file.isatty()如果文件连接到一个终端设备返回 True,否则返回 False
file.truncate([size])从文件的首行首字符开始截断,截断文件为 size 个字符,无 size 表示从当前位置截断;截断之后后面的所有字符被删除,其中 windows 系统下的换行代表2个字符大小 。
f.close()关闭文件并释放系统的资源 。关闭后文件不能再进行读写操作 , 否则会抛出异常
当处理一个文件对象时, 使用 with 关键字是非常好的方式 。在结束后, 它会帮你正确的关闭文件 。而且写起来也比 try - finally 语句块要简短:
python的pickle模块实现了基本的数据序列和反序列化 。通过pickle模块的序列化操作能够将程序中运行的对象信息保存到文件中去,永久存储 。通过pickle模块的反序列化操作能够从文件中创建上一次程序保存的对象 。
基本接口:
pickle.dump(obj, file, [,protocol])
有了 pickle 对象, 就能对 file 以读取的形式打开:
x = pickle.load(file)
从 file 中读取一个字符串,并将它重构为原来的python对象 。
示例:使用pickle模块将数据对象保存到文件
示例:使用pickle模块从文件中重构python对象
python基?。耗谥煤⒎椒ā⒆遄址笕?/h2>在写python程序时 , 常能用到一些函数和方法,总结一下 , 保存起来,方便查询 。
一、内置函数
# abs()获取数字绝对值
# chr(i)数字转换为字符类型
# divmod() 获取两个数值的商和余数
# enumerate() 将可遍历序列组合为索引序列
# float()转换为浮点数
# format() 格式化字符串
# int()转换为整数
# input() 接受用户输入内容
# len() 计算元素个数
# max() 返回最大值
# min() 返回最小值
# math.ceil() 返回指定数值的上舍整数
# open()打开文件并返回文件对象
# pow() 幂运算
# print()打印输出
# range() 生成器
# reversed()反转所有元素
# round()四舍五入求值
# sorted()对可迭代对象进行排序
# str() 转换为字符串
# sum() 求和
# set() 创建集合
# tuple() 将序列转换为元组
# zip()将可迭代对象打包成元组
二、方法
# append() 添加列表元素
# capitalize()首字母转换为大写
# count()字符出现次数
# close() 关闭文件
# decode() 解码字符串
# dict.keys() 获取字典所有的键
# find()字符串首次出现的索引
# f.read() 读取文件内容
# dict.update()更新字典
# dict.items() 获取字典键/值对
# dict.get() 返回指定键的值
# encode() 编码字符串
# list.sort() 排序列表元素
# index() 元素首次出现的索引
# isdigit() 判断字符串是否只由数字组成
# isupper() 是否所有字母都为大写
# isnum() 判断字符串是否由字母和数字组成
# islower() 是否所有字母都为小写
# isdecimal() 检查字符串是否只包含十进制字符
# isalpha() 检测字符串是否为纯字母
# random.shuffle()随机排序
# random.sample()返回无重复随机数列表
# random.choice() 返回一个随机元素
# random.randint() 生成指定范围的随机整数
# random.randrange() 生成指定范围的指定递增基数随机整数
# pop() 删除列表中的元素
# remove()删除列表中的指定元素
# strip()去除空格
# lstrip()去除左侧空格
# rstrip() 去除右侧空格
# readline() 读取单行内容
# root.after() Tkinter中等待一段时间后再执行命令
# str.isnumeric() 验证字符串是否为数字(适用于Unicode)
# split()分割字符串
# ord() 将字符转换为整数
# replace() 字符串替换
# ljust() 左对齐填充
# rjust() 左对齐填充
# readlines() 读取所有行内容
# datetime.datetime.now() 返回指定时区的本地日期时间
# datetime.datetime.today() 获取当前本地日期的date对象
# datetime.utcnow() 返回当前UTC时间的datetime对象
# time.strptime()把时间字符串解析为元组
# time.time()返回当前时间的时间戳
# time.sleep()暂停指定秒数
# time.strftime() 返回指定格式的日期字符串
# time.mktime() 接收时间元组并返回时间戳
# os.getcwd() 获取当前工作目录
# os.listdir() 获取指定路径下的目录和文件列表
# os.makedirs() 递归创建目录
# os.rename() 重命名目录或文件
# os.path.exists() 判断路径是否存在
# upper() 全部转换为大写字母
# lower()全部转换为小写字母
# sys.stdout.write() 标准输出打印
# sys.stdout.flush()刷新输出
# shutil.copy() 复制单个文件到另一文件或目录
# write() 写入文件内容
# winsound.Beep() 打开电脑扬声器
# zfill() 在字符串前面填充0
三、循环语句
# break终止当前循环
# continue 终止本循环进入下一次循环
# with open() as file 以with语句打开文件(数据保存)
四、转义字符
\行尾续行符
\' 单引号
\'' 双引号
\a 响铃
\e 转义
\n 换行
\t 横向制表符
\f 换页
\xyy 十六进制yy代表的字符
\\反斜杠符号
\b 退格
\000 空
\v 纵向制表符
\r 回车
\0yy 八进制yy代表的字符
\other 其他的字符以普通格式输出
Python字典创建、基本操作以及常用方法 创建一个空字典自需要一对大括号即可,从已有的键-值对映射或关键字参数创建字典需要使用 dict 函数(类)
把一个列表转为字典,列表的每一项都是长度为2的序列 。
还可使用 关键字实参(**kwargs)来调用这个函数,如下所示:
字典的基本操作与序列十分相似:
字典与序列的不同:
方法 clear 删除所有的字典项(key-value) 。
复制,得到原字典的一个新副本 。
效果等同于调用 dict(d) 创建新字典 。
copy() 执行的是 浅复制,若字典的值是一个可变对象,那么复制以后,相同一个键将关联到同一个对象,修改该对象,将同时修改两个字典 。
模块copy中的函数deepcopy 可执行深复制 。
方法fromkeys 创建一个新字典,其中包含指定的键,且每个键对应的值都是None,或者可以提供一个i额默认值 。
方法get 为访问字典项提供了宽松的环境 。通常,如果你试图访问字典中没有的项 , 将引发错误,而get直接返回None,或者可设置默认返回值 。
当字典中不存在指定键时, setdefault(k,v) 添加一个指定键-值对;且返回指定键所关联的值 。
这三个方法返回值属于一种名为 字典视图 的特殊类型 。字典视图可用于迭代 。另外,还可确定其长度以及对其执行成员资格检查 。
这三个方法自大的特点是不可变 , 当你的接口试图对其他用户提供一个只读字典,而不希望他们修改的时候,这三个方法是很有用的;而且当原字典发生改变时,这些方法返回的对象也会跟着改变 。
方法 pop 可用于获取与指定键相关联的值,并将该键-值对从字典中删除 。
popitem随机删除一个键-值对,并返回一个二维的元组 (key, value) ,因为字典是无序的,所以其弹出的顺序也是不确定的 。
书上说,这个方法在大数据量时执行效率很高,但没有亲测 。
方法update 使用一个字典中的项来更新另一个字典 。
自学Python的时候每次用append函数都会提示只读错误append()是list对象python函数只读方法的一个方法python函数只读方法,所以
你还是看一下基础去吧,比如廖雪峰的教程 。
python中isread函数么文件对象(open() 函数python函数只读方法的返回值)提供了read()函数可以按字节或字符读取文件内容python函数只读方法,到底是读取字节还是字符python函数只读方法 , 取决于使用 open() 函数打开文件时,是否使用了 b 模式,如果使用了 b 模式,则每次读取一个字节python函数只读方法;反之,则每次读取一个字符 。
read() 函数的基本语法格式如下:
file.read([size])
其中 , file 表示打开的文件对象;size 作为一个可选参数,用于指定要读取的字符个数 , 如果省略 , 则默认一次性读取所有内容 。
【例 1】采用循环读取整个文件的内容 。
# a.txt 文件内容为:C语言中文网
f = open("a.txt", 'r', True)
while True:
# 每次读取一个字符
ch = f.read(1)
# 如果没有读到数据,跳出循环
if not ch:
break
# 输出ch
print(ch, end='')
f.close()
运行结果为:
C语言中文网
上面程序采用循环依次读取每一个字符(因为程序没有使用 b 模式) , 每读取到一个字符,程序就输出该字符 。
正如从上面程序所看到的,当程序读写完文件之后 , 推荐立即调用 close() 方法来关闭文件,这样可以避免资源泄露(后续章节会详细介绍 close() 函数) 。
注意 , 在调用 read() 函数读取文件内容时,成功读取的前提是在 open() 函数中使用 r 或 r的模式打开文件,否则(比如将上面程序中 open()的打开模式改为 w),程序会抛出io.UnsupportedOperation异常:
Traceback (most recent call last):
File "C:\Users\mengma\Desktop\demo.py", line 4, in
ch = f.read(1)
io.UnsupportedOperation: not readable
【例 2】调用 read() 方法时不传入参数,该方法默认会读取全部文件内容 。例如:
f = open("a.txt", 'r', True)
# 直接读取全部文件
print(f.read())
f.close()
运行结果为:
C语言中文网
read()函数抛出UnicodeDecodeError异常的解决方法
当使用 open() 函数打开文本文件时,默认会使用当前操作系统的字符集,比如 Windows 平台,open() 函数默认使用 GBK 字符集 。因此,上面程序读取的 a.txt 也必须使用 GBK 字符集保存;否则,程序就会出现UnicodeDecodeError错误 。
如果要读取的文件所使用的字符集和当前操作系统的字符集不匹配,则有两种解决方式:
使用二进制模式读?。?然后用 bytes 的 decode() 方法恢复成字符串 。
利用 codecs 模块的 open() 函数来打开文件,该函数在打开文件时允许指定字符集 。
例如,下面程序使用二进制模式来读取文本文件:
# 指定使用二进制方式读取文件内容,a.txt 以 utf-8 编码存储
f = open("a.txt", 'rb', True)
# 直接读取全部文件,并调用bytes的decode将字节内容恢复成字符串
print(f.read().decode('utf-8'))
f.close()
上面程序在调用 open() 函数时,传入了 rb 模式 , 这表明采用二进制模式读取文件,此时文件对象的 read() 方法返回的是 bytes 对象,程序可调用 bytes 对象的 decode() 方法将它恢复成字符串 。由于此时读取的 a.txt 文件是以 UTF-8 的格式保存的,因此程序需要使用 decode() 方法恢复字符串时显式指定使用 UTF-8 字符集 。
下面程序使用 codes 模块的 open() 函数来打开文件 , 此时可以显式指定字符集:
import codecs
# 指定使用utf-8 字符集读取文件内容
f = codecs.open("a.txt", 'r', 'utf-8', buffering=True)
while True:
# 每次读取一个字符
ch = f.read(1)
# 如果没有读取到数据,则跳出循环
if not ch : break
# 输出ch
print (ch, end='')
f.close()
上面程序在调用 open() 函数时显式指定使用 UTF-8 字符集,这样程序在读取文件内容时就完全没有问题了 。
python 字典创建问题?python创建文件与文件夹1.文件的创建:一般创建.txt文件函数open(file,'mode')file为文件地址 , 若不存在则新建,若不再本目录下,可以写绝对路径mode有以下几种方式:r只读 rb二进制只读 w写入且原有内容覆盖 a在文件末尾追加打开后文件需要.close()关闭2.文件夹的创建:使用os.mkdir(ad)方式建立 , ad为新建文件夹名称的绝对路径
关于python函数只读方法和python只读取文件第一行数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- jquery调用摄像头扫码,js调用摄像头扫码
- 怎么格式化硬盘和u盘,怎么格式化硬盘和u盘的区别
- 如何查看钉钉直播视频回放,如何看钉钉的直播回放
- php链接数据库教程 php如何链接数据库
- 电脑怎么设置来电黑屏时间,电脑怎样设置黑屏时间设置
- 查看mysql的name,查看mysql的命令
- b站视频看电影直播,b站如何直播看电影
- 包含php数据保存txt文件的词条
- sqlserverin的参数,sql参数是什么意思