对文件的操作,
open('h:\asa.txt')
r |
以只读方式打开 |
w |
以写入方式打开,会覆盖已文件 |
X |
如果已存在,会异常 |
a |
如果文件存在,则在其末尾追加写入 |
b |
以二进制方式打开 |
t |
以文本方式打开 |
+ |
可读写方式,可添加其他方式 |
U |
通用换行符支持 |
打开文件f= open('h:\asa.txt')
f.write( 字符串 ) 向文件里写内容
f.flush( ) 刷新缓存区,把内容写入文件,
f.read() 读取文件 在()中可写参数,如:f.read(5)读前5个字符
f.close() 关闭文件
查当前文件指针的位置,>>> f.tell()
控制指针的位置,>>> f.seek(25,0) #()中的参数:25:第25个字符,
第二个参数的设置说明:
0:从0开始数移动
1,从当前位置开始移动
3,从末尾开始移动
f.writelines( ['a','b','c'] ) 写入可迭代类型
读出所在指针的这一行,, f. readline() ()中可写参数,读取内个,
读出多行,>>> f.readlines () 返回个列表
把打开的文件变为列表,list() >>> list (f)
碟带出文件:
>>> for i in f:
print (i)
以可读写模式打开 >>> f= open('h:/asa.txt','w')
>>>中
()中,第一个‘’内为文件路径,
第二个‘’内w 表示 以读写方式打开,
(w,若已经该文件,将会覆盖掉该文件)
上下文管理: __enter__ 和 __xxit__
class Test: def __enter__(self): # with 进来时触发 print('正在调用 enter') return 'enter 返回' def __exit__(self, exc_type, exc_val, exc_tb): # with 退出时触发 print('正在调用 exit') with Test() as t: print(t)
import io sio = io.StringIO() sio.write('abc') sio.seek() sio.read() sio.getvalue() # 不管光标在哪,都可以读到所有内容,
用代码操作linux
import os os.system('ls') os.mkdir('test') # 创建文件夹 os.rmdir('test') # 删除文件夹 a = os.path.join('/home/pyvip','projects') # 拼接文件路径 import shutil shutil.move('a','b') # 把第一个谁的移动到第二个文件中 shutil.copy('a','b') # 把第一个文件内容复制给第二个文件,如果第二个文件不存,则新建 shutil.rmtree('a') # 删除文件夹,包括里的内容
with 的使用,
. with open("/tmp/foo.txt") as file:
. data = file.read()