#对于小白伙伴声明一点,操作的文件需要和你当前的代码在**同一个目录**

  1. writelines() 方法用于向文件中写入一序列的字符串,没有返回值。
#写入文件
f=open("2020.txt","w")
print ("文件名:",f.name)

seq = ["pycharmdf1\n","pycharm f2"]
f.writelines(seq),--返回None,即没有返回值
f.close()

因为是"w",文件内容全部替换成了seq的内容;如果改成"a",则是追加。即替换open的方式即可。

  1. write() 方法用于向文件中写入指定字符串,返回写入的字符长度。
f=open("2020.txt","w")
print ("文件名:",f.name)

seq = "pycharm3"
a=f.write(seq)--返回字符长度
print (a)
f.close()
  1. read() 方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。
# 打开文件
fo = open("2020.txt", "r+")
print ("文件名为: ", fo.name)
 
line = fo.read(10)--返回读取的字节内容
print ("读取的字符串: %s" % (line))
 
# 关闭文件
fo.close()

4.readline() 方法用于从文件读取整行,包括 “\n” 字符。如果指定了一个非负数的参数,则返回指定大小的字节数,包括 “\n” 字符。

# 打开文件
fo = open("2020.txt", "r+")
print ("文件名为: ", fo.name)
 
line = fo.readline()
print ("读取第一行 %s" % (line))
 
line = fo.readline(5)
print ("读取的字符串为: %s" % (line))
 
# 关闭文件
fo.close()

5.readlines() 方法用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for… in … 结构进行处理。 如果碰到结束符 EOF 则返回空字符串。

# 打开文件
fo = open("2020.txt", "r")
print ("文件名为: ", fo.name)
 
for line in fo.readlines():                          #依次读取每行 
    line = line.strip()                             #去掉每行头尾空白 
    print ("读取的数据为: %s" % (line))
 
# 关闭文件
fo.close()

–以上摘自牛客网

常用的mode:-- 摘自菜鸟教程"+":打开一个文件进行更新(可读可写)。
"r":以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
"r+":打开一个文件用于读写。文件指针将会放在文件的开头。
"w": 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。**
“w+”**:打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。
"a":打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
"a+":打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。

中文写入的问题:
python打开txt文件默认的是ascii编码,是无法处理中文字符的,所以需要统一转换为utf-8编码,这里使用codecs这个包,主要代码如下:

import codecs
res = codecs.open(‘test.txt’, ‘w’, encoding=‘utf-8’) # 指定txt编码为utf-8
s1 = u’你好’
s2 = 'hello’res.write(s + ‘\t’ + s2)
这样就可以成功保存