模式 | r | r+ | w | w+ | a | a+ |
---|---|---|---|---|---|---|
读 | + | + | + | + | ||
写 | + | + | + | + | + | |
创建 | + | + | + | + | ||
覆盖 | + | + | ||||
指针在开始 | + | + | + | + | ||
指针在结尾 | + | + | ||||
实例
#打开--操作--关闭文件
#尝试一:
#打开
file1=open(r'C:\Users\Adamin\Desktop\liuyan.xls','r') #如果以只读的模式打开,能用write()方法写入字符串到文件中嘛?
file1.name #获取文件名
file1.mode #获取文件的访问模式
file1.closed #查看文件是否关闭
#操作
file1.read() #可进行read,readline,readlines操作,
# 但要注意,在进行操作时,文件对象的当前位置会向后移,可能会在文件的结尾,
# 可用file.tell()查看文件对象当前所处的位置,
#若想从开头开始读取,可使用file.seek(offset,from_what)函数来改变文件当前位置。
file1.write('python is a great language.\nYeah its great!!\n') #io.UnsupportedOperation: not writable
#关闭
file1.close()
#结论:以只读的方式打开文件夹,不能读文件进行写入操作。
#尝试二:
file2=open(r'C:\Users\Adamin\Desktop\liuyan.xls','r+') #如果以读写的模式打开,能用write()方法写入字符串到文件中嘛?
file2.read()
file2.write('python is a great language.\nYeah its great!!\n')
file2.seek(0)
file2.readlines()
file2.close()
#结论,以读写的方式打开文件夹,能对文件进行读取和写入操作。
#尝试三:
file3=open(r'C:\Users\Adamin\Desktop\liuyan.xls','w')
file3.mode
file3.write('python is a great language.\nYeah its great!!\n')
#以写入的方式打开文件,能用write()方法写入字符串到文件中,如果文件以存在则将其覆盖,如果文件不存在,创建新文件。
file3.read() #以写入的方式打开文件,不能用read(),readline(),readlines()方法读取文件
file3.tell()
file3.seek(0)
file3.close()
#尝试四
file4=open(r'C:\Users\Adamin\Desktop\liuyan.xls','a')
file4.write('python is a great language.\nYeah its great!!\n')
file4.tell()
file4.read() #以追加的方式打开文件,不能用read(),readline(),readlines()方法读取文件
file4.close()
#尝试五
file5=open(r'C:\Users\Adamin\Desktop\liuyan.xls','a+')
file5.readlines()
file5.tell()
file5.seek(0)
file5.write(' game over! ')
file5.read()
file5.close()
#重命名和删除文件
import os
#重命名
os.rename(r'C:\Users\Adamin\Desktop\file.xls',r'C:\Users\Adamin\Desktop\file_new.xls') #文件夹和文件都可以
#删除文件
os.remove(r'C:\Users\Adamin\Desktop\file_new.xls') #不能删除文件夹
#python里的目录
os.mkdir(r'C:\Users\Adamin\Desktop\a_hua.xls') #创建的是单级目录
os.makedirs(r'C:\Users\Adamin\Desktop\a_hua\huachenyu') #创建多级目录
os.rename(r'C:\Users\Adamin\Desktop\a_hua.xls',r'C:\Users\Adamin\Desktop\a_hua')
os.rmdir(r'C:\Users\Adamin\Desktop\a_hua') #删除文件夹
#怎么新创建文件?可考虑用open(file,'w')来新建?
os.getcwd() #显示当前的工作目录