python -- 文件和IO操作

文件操作

文件输入输出

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)

你可能感兴趣的:(python -- 文件和IO操作)