Python之文件

1.打开文件
*方式一:f = open()
# 文本:f = open('#文件名',mode='r/r+/w/w+/a/a+')
# 图片:f = open('#文件名',mode='rb/rb+/wb/wb+/ab/ab+')
# 打开文件默认mode='r';

(1)'r':只有读权限:

       a.文件不存在:则报错

       b.文件存在:不会清空原有内容

(2)'w':只有写权限:

       a.文件不存在:则创建文件

       b.文件存在:先清空原有内容后写入

(3)'a':只有写权限:

       a.文件不存在:则创建文件

       b.文件存在:不会清空直接追加写入内容

(4)'r+':有读写权限:

       a.文件不存在:则报错

       b.文件存在:不会清空直接追加写入内容

(5)'w+':有读写权限:

       a.文件不存在:则创建文件

       b.文件存在:先清空原有内容后写入

(6)'a+':有读写权限:

       a.文件不存在:则创建文件

       b.文件存在:不会清空直接追加写入内容

*方式二:with-as 关键字
# with open('#文件名') as f:
# 优势:实现文件自动关闭,无需f.close()关闭文件
# python2.7以后可实现两个文件同时打开进行交互操作
  with open('#文件名', 'r') as file, open('#文件名', 'w') as file1:
        
2.关闭文件
(1)f.close():关闭

(2)f.closed:查看是否关闭,变量,为布尔值


3.读写操作
(1)read
a. f.read(x):默认返回值为全文内容,参数指定读取x个字节
b. f.readline():一行一行显示
c. f.readlines():返回列表,全文每一行为列表元素
d. f.readable():是否有读权限,返回布尔值
(2)write
a. f.write('x'):返回值为输入字符数
b. f.writelines():参数为列表,将列表中每个元素依次写入
c. f.writable():是否有写权限,返回布尔值
d. 快速清空文件
   f = open('#文件名','w')

 

   f.close

 

4.指针操作
#读或写文件时都会移动指针,编程时注意用seek(0,0)归位指针
(1)f.seek():移动指针.
            第一个参数是偏移量,大于0向右移动,小于0向左移动;
            第二个参数有三个固定值:0-移动到文件开头;1-不移动;2-移动到文件结尾.
(2)f.tell():返回值为指针所在位置的字符数

 

5.文件对象

# 可迭代:for循环默认遍历文件每一行

6.os模块文件管理

# pwd
print(os.getcwd())

# ls
print(os.listdir('/var/log'))

# touch
os.mknod('/tmp/westos')

# mkdir
os.mkdir('/tmp/westosdir')

# mkdir -p /tmp/ok/westosdir
os.makedirs('/tmp/ok/westosdir')

# rm 
os.remove('/tmp/westos')

# rm -r
os.removedirs('/tmp/ok/westosdir')

# mv
os.rename('/tmp/passwdok', '/mnt/passwdok')

# 判断文件属性
print(os.path.isfile("/etc/passwd"))

# 判断是否为绝对路径
print(os.path.isabs("~/passwd"))

# 判断文件或者目录是否存在;
print(os.path.exists('/etc/passwds'))
print(os.path.exists('/mnt'))

# 分离路径与文件名:返回元组
# 路径分隔符:
# Linux: /etc/passwd/hh
# Windows: C:\\book\python
print(os.path.split('/etc/passwd/hh'))

# 分离文件名与后缀名
print(os.path.splitext("hello.py"))

# 获取当前系统下的路径分隔符
print(os.path.sep)

# 获取文件名
print(os.path.basename('/hello/hello.py'))

# 获取目录名
print(os.path.dirname('/hello/hello.py'))

7.脚本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值