文件操作
文件输入输出
open(filename, mode)
-
filename 是该文件的字符串名;
-
mode 是指明文件类型和操作的字符串。
mode 的第一个字母表明对其的操作。
-
'r' open for reading (default)
-
'w' open for writing, truncating the file first
-
'x' create a new file and open it for writing
-
'a' open for writing, appending to the end of the file if it exists
-
'b' binary mode
-
't' text mode (default)
-
'+' open a disk file for updating (reading and writing)
#r表示原始的,不解析字符串中的转义内容
f = open(r"c:\readme.txt", "a")
f.writelines(["aa","\r\n","bb"])
f.close()
#使用with之后,不需要close()文件
with open(r"d:\readme.txt", "r") as f:
for line in f:
print(line.strip())
操作文件和目录
import os
print(os.path.abspath(".")) #c:\train
newpath = os.path.join(os.path.abspath("."), "dir1") #新目录名称dir
os.mkdir(newpath)#创建目录
#删除目录
os.rmdir(r"c:\train\dir1")
os.path处理路径
os.path.split(/Users/joe/Desktop/testdir)
os.path.splitext()#可以直接得到文件扩展名.
#使用rename()对文件重命名和remove()删掉文件.
#利用Python的特性来过滤文件。比如我们要列出当前目录下的所有目录,只需要一行代码:
[x for x in os.listdir('.') if os.path.isdir(x)]
#['.lein', '.local', '.m2', '.npm', '.ssh', '.Trash', '.vim', 'Applications', 'Desktop', ...]
#要列出所有的.py文件,也只需一行代码:
[x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.py']
#['apis.py', 'config.py', 'models.py', 'pymonitor.py', 'test_db.py', 'urls.py', 'wsgiapp.py']
l1 = [path for path in os.listdir(".") if os.path.isdir(path)==False]
for path in l1:
print(path)