打开文件
几个方法
f.close() 关闭文件
f.read(size=-1) 从文件读取size个字符,当未给定size或给定负值的时候读取剩余的所有字符然后作为字符串返回
f.readline() 以写入模式打开,如果文件存在,则在末尾追加写入
f.write(str) 将字符串str写入文件
f.writelines(seq) 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象
f.seek(offset,from) 在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节
f.tell 返回当前在文件中的位置
open(‘E:\ ‘,’r’)
‘r’只读
‘w’写入但会覆盖
‘x’
‘a’写入,如果文件存在,则在末尾追加
‘b’以二进制模式打开
‘t’以文本模式打开
‘+’可读写模式
def save_file(boy,girl,count):
file_name_boy = ‘boy_’ + str(count) + ‘.txt’
file_name_girl = ‘girl_’ + str(count) + ‘.txt’
boy_file = open(file_name_boy,'w')
girl_file = open(file_name_girl,'w')
boy_file.writelines(boy)
girl_file.writelines(girl)
boy_file.close()
girl_file.close()
def split_file(file_name):
f = open('readme.txt')
boy = []
girl = []
count = 1
for each_line in f:
if each_line[:6] !='======'
(role,line_spoken) = each_line.split(':',1)
if role == '1':
boy.append(line_spoken)
if role == '2':
girl.append(line_spoken)
else:
save_file(boy,girl,count)
boy = []
girl = []
count += 1
save_file(boy,girl,count)
f.close()
split_file('readme.txt')
文件系统
模块是以个包含所有你定义的函数和变量的文件,后缀是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。 os模块
os.sep 可以取代操作系统特定的路径分割符。
os.name字符串指示你正在使用的平台。比如对于Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’。
os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。
os.getenv()和os.putenv()函数分别用来读取和设置环境变量。
os.listdir()返回指定目录下的所有文件和目录名。
os.remove()函数用来删除一个文件。
os.system()函数用来运行shell命令。
os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用’\r\n’,Linux使用’\n’而Mac使用’\r’。
os.path.split()函数返回一个路径的目录名和文件名。
os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
os.path.existe()函数用来检验给出的路径是否真地存在
os和os.path模块
os.listdir(dirname):列出dirname下的目录和文件
os.getcwd():获得当前工作目录
os.curdir:返回但前目录(’.’)
os.chdir(dirname):改变工作目录到dirname
os.path.isdir(name):判断name是不是一个目录,name不是目录就返回false
os.path.isfile(name):判断name是不是一个文件,不存在name也返回false
os.path.exists(name):判断是否存在文件或目录name
os.path.getsize(name):获得文件大小,如果name是目录返回0L
os.path.abspath(name):获得绝对路径
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):返回文件路径
pickle模块 存储 (二进制)
import pickle
my_list = [123,345,213]
pickle_file = open('my_list.pkl','wb')
pickle.dump(my_list,pickle_file)
pickle_file.close()
pickle_file = open('my_list.pkl','rb')
my_list2 = pickle.load(pickle_file)