Python基础知识:文件
文件的存储方式
文件基本操作(python中是一个函数(open)+三个方法)
read方法
# 1. 打开文件 获取文件对象
file = open("README")
# 2. 读取文件 (默认情况下读取文件的所有内容)
txt = file.read()
print(txt)
# 3. 关闭文件
file.close()
领取Python学习资料可以加小编的微信:tz2020jd
关于文件指针的概念,在读取文件的时候,默认文件指针在文件的开始,在读取文件的时候会不断的移动,读取完之后到达文件的末尾。所以,如果使用read()读取了一次文件之后,再读取一次就不能读取到数据了;
file = open("README")
txt = file.read()
print(txt)
print(len(txt))
print("*" * 40)
print(file.read()) # 再次读取,因为文件指针已经移动到文件的末尾,所以读取不到
# 3. 关闭文件
file.close()
输出:
hello
hello
11
****************************************
读取文件的方式
file = open("README", "w") # w代表的是写入文件(覆盖) a代表的是追加
file.write("write hello to README")
file.close()
分行读取文件 : readline : 用来读取大文件的正确姿势。(read方法默认是直接读取整个文件)。readline每次读取一行之后,就会将文件指针往下移动一行;
file = open("README")
while True:
txt = file.readline()
if not txt:
break
print(txt, end="") # 因为读取的时候以及读取了一个空行,这里就输出空行了
file.close()
文件复制案例(小文件)
file_read = open("README")
file_write = open("README[复件]", "w")
text = file_read.read()
file_write.write(text)
file_read.close()
file_write.close()
大文件复制
file_read = open("README")
file_write = open("README[复件]", "w")
while True:
text = file_read.readline()
if not text: # 注意判断一下
break
file_write.write(text)
file_read.close()
file_write.close()
OS模块的命令使用
让python2也支持中文,只需要在py文件的行首增加一行代码# *-* coding:utf-8 *-*即可(python2默认使用的是ascii码编码);
指定了上面的格式之后,如果遍历字符串,还是会乱码,处理的方式是在字符串前面加上一个u,例如str = u"hello",意思就是按照utf-8编码格式处理;
eval()函数,会将字符串的内容当做表达式处理(python语句);但是不要滥用这个函数,这个函数可以被注入内容(类似sql注入),例如输入__import__('os').system.('ls')等
领取Python学习资料可以加小编的微信:tz2020jd