6 文件处理
文件读写
创建文本文件
- f= open("china-testing.github.io.txt","w+")
- for i in range(10):
- f.write("This is line %d\n" % (i+1))
- f.close()
Open 需要 2 个参数, 要打开的文件和表示文件执行的权限或操作的种类字符串, 这里 "w" 表示写入和加号表示如果文件中不存在则会创建. 常用的选项 还有 "r" 表示读取, "a" 用于追加.
for 循环使用 write 函数将数据输入到文件中. 我们在文件中迭代的输出是 "this is line number",%d 表示显示整数.
最后关闭存储的文件的实例.
图片. PNG
附加文件
- f= open("china-testing.github.io.txt","a+")
- for i in range(2):
- f.write("Appended line %d\n" % (i+1))
- f.close()
图片. PNG
读取文件
- f= open("china-testing.github.io.txt","r")
- contents =f.read()
- print(contents)
图片. PNG
基于行读取文件
- for line in open("china-testing.github.io.txt"):
- print(line)
图片. PNG
类似代码:
- f = open("china-testing.github.io.txt")
- for line in f.readlines():
- print(line)
文件操作模式小结
模式 | 描述 |
---|---|
'r' | 默认模式。 读。 |
'w | '此模式打开文件进行写入。如果文件不存在,则会创建新文件。如果文件存在,则会先清空文件。 |
'x' | 创建文件。 如果文件已存在,则操作失败。 |
'a | '在附加模式下打开文件。如果文件不存在,则会创建新文件。 |
't' | 默认模式。 它以文本模式打开。 |
'b' | 以二进制模式打开。 |
'+' | 打开文件进行读写 (更新) |
判断文件或者目录是否存在
- os.path.exists(path)
- import os.path
- print ("File exist:"+str(os.path.exists('china-testing.github.io.txt')))
- print ("File exists:" + str(os.path.exists('github.io.txt')))
- print ("Directory exists:" + str(os.path.exists('myDirectory')))
图片. PNG
- os.path.isfile()
- import os.path
- print ("Is it File?" + str(os.path.isfile('china-testing.github.io.txt')))
- print ("Is it File?" + str(os.path.isfile('myDirectory')))
图片. PNG
- os.path.isdir()
- import os.path
- print ("Is it Directory?" + str(os.path.isdir('china-testing.github.io.txt')))
- print ("Is it Directory?" + str(os.path.isdir('..')))
图片. PNG
- pathlibPath.exists()
- import os.path
- print ("Is it Directory?" + str(os.path.isdir('china-testing.github.io.txt')))
- print ("Is it Directory?" + str(os.path.isdir('..')))
图片. PNG
文件拷贝
比较常用的有:
- shutil.copy(src,dst)
- shutil.copystat(src,dst)
来源: http://www.jianshu.com/p/fd2a25efb9c5