Python测试开发预习课7/9

文件目录的操作
二进制文件
文件的内容是计算存储的格式,人直接看是看不懂的。比如用记事本打开一个gif文件,显示的都是乱码。其中图片、ppt、word都是二进制文件。
二进制文件的操作方法
二进制主要用于复制文件
b:binary file
rb: 读二进制文件
wb:写二进制文件
ab:追加二进制文件,用的很少,比如一个图片追加内容就可能显示不出来。

1、二进制
fp=open("e:\\1.jpg","rb") #二进制文件不需要写编码
content = fp.read()
fp.close()

fp=open("e:\\1_new.jpg","wb")
fp.write(content)
fp.close()

在这里插入图片描述

fp=open("e:\\test.ini","rb")
content = fp.read()
fp.close()

fp=open("e:\\test_new.ini","wb")
fp.write(content)
fp.close()

#以上方法可以复制文件,不管是不是二进制的都可以这样的方法
#来复制
在这里插入图片描述

2、目录的操作(import os)

切换目录的作用:切换到所在目录下,使用相对路径
查看当前目录、切换目录以及返回上一级目录

指定目录:
>>> import os
>>> os.getcwd()  #查看当前目录
'C:\\Users\\sunqianli'
>>> os.chdir("e:\\test") #切换目录
>>> os.getcwd()
'e:\\test'

在这里插入图片描述

回到上一次的目录:
>>> os.chdir("..")
>>> os.getcwd()
'e:\\'
>>>

在这里插入图片描述

返回目录查看当前所在目录
>>> os.chdir("c:\\intel")
>>> os.getcwd()
'c:\\intel'
>>> os.chdir("..")
>>> os.getcwd()
'c:\\'
>>> os.chdir("..")
>>> os.getcwd()
'c:\\'

在这里插入图片描述

查看文件下的目录
>>> os.chdir("e:\\WXDrive")
>>> os.listdir()

在这里插入图片描述

新建/删除目录

注意:目录为空的时候才能删除

>>> os.getcwd()
'e:\\WXDrive'
>>> os.chdir("..")
>>> os.getcwd()
'e:\\'
>>> os.mkdir("test")
>>> os.listdir()
['$RECYCLE.BIN', '1.jpg', '1_new.jpg', 'a.py', 'a.py.txt', 'bb.txt', 'System Volume Information', 'test', 'test.ini', 'test1', 'test2', 'test_new.ini', 'WXDrive', 'WXWork', '学习文件', '软件测试(原书中文第二版).pdf']
>>> os.rmdir("test")
>>> os.listdir()
['$RECYCLE.BIN', '1.jpg', '1_new.jpg', 'a.py', 'a.py.txt', 'bb.txt', 'System Volume Information', 'test.ini', 'test1', 'test2', 'test_new.ini', 'WXDrive', 'WXWork', '学习文件', '软件测试(原书中文第二版).pdf']
>>>

在这里插入图片描述

查看文件内容

算法:
1 chdir进入到这个目录
2 然后open打开文件读一下

>>> os.mkdir("test1")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileExistsError: [WinError 183] 当文件已存在时,无法创建该文件。: 'test1'
>>> os.mkdir("test2")
>>> os.chdir("test2")
>>> os.getcwd()
'e:\\WXDrive\\test2'
>>> os.listdir()
[]

在这里插入图片描述

3、练习:建立10级目录

目录1/目录2/目录3/目录4.。。。。目录10
每一级需要有一个文件千丽1.txt
千丽2.txt:千丽2.txt
千丽3.txt
千丽4.txt
千丽5.txt
。。。。
千丽10.txt

提示:
1 先建目录,chdir进去
2 在新建文件,写内容。
3 通过循环重复此过程10次。

import os
os.chdir("e:\\test")
for i in range(1,11):
    dir_name = "目录"+str(i)
    os.mkdir(dir_name)  #创建子目录
    os.chdir(dir_name)
    file_name = "千丽"+str(i)+".txt"
    fp=open(file_name,"w")
    fp.write(file_name)
fp.close()

在这里插入图片描述

4、创建多级目录和删除多级目录

删除非空目录
从最下面目录开始向上删除
先删除test3,如果为空,就删除了
在删除test2,如果为空,就删除了。
如果不为空,那么不删除了
test1也不删除了

>>> os.makedirs("test1//test2//test3")
>>> os.removedirs("test1//test2//test3")
5、删除文件
>>> os.remove("e:\\a.txt")
>>> os.remove("e:\\a.txt")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: 'e:\\a.txt'

在这里插入图片描述

6、判断文件或目录是否存在
>>> os.path.exists("e:\\a.txt")
True
>>> os.path.split("e:\\b.txt")
('e:\\', 'b.txt')
>>> os.path.splittext("e:\\b.txt")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'ntpath' has no attribute 'splittext'
>>> os.path.splitext("e:\\b.txt")
('e:\\b', '.txt')
判断文件在不在,如果在了,那么可以删除文件
import os
if os.path.exists("e:\\b.txt"):
    os.remove("e:\\b.txt")
7、判断一个目录在不在,不在的话重新建立一个
import os
if os.path.exists("e:\\b.txt"):
    os.remove("e:\\b.txt")
if not os.path.exists("e://test1"):
os.mkdir("e:\\test1")

在这里插入图片描述

8、把两个文件拼到一起
>>> import os
>>> os.path.join("a","b")#把两个文件拼到一起
'a\\b'
>>> os.sep
'\\'
>>> "a"+"\\"+"b"
'a\\b'
>>> os.path.join("a","b")
'a\\b'
>>> os.path.join("e:test1","test2")
'e:test1\\test2'

在这里插入图片描述

9、给文件重命名
os.rename("e:\\a.py","e:\\bb.txt")

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值