美文网首页
Pthon--自动化实用技巧篇--文件目录处理

Pthon--自动化实用技巧篇--文件目录处理

作者: 萌萌聊测试 | 来源:发表于2022-05-23 15:55 被阅读0次

这里是清安,为什么要讲这一篇,主要是因为这个在自动化测试框架或者脚本的编写的时候会用到,还是比较方便的。

Python 3 带有一个模块叫做 os,代表 “操作系统(operating system)。” os 模块 包含非常多的函数用于获取(和修改)本地目 录、文件进程、环境变量等的信息。

import os

print(os.getcwd())

path = r"F:\selenium_demo\shopX_demo\casedata"
os.chdir(path)
print(os.getcwd())

看上述两个函数。getcwd()、chdir()。使用 os.getcwd() 函数获得当前工作目录。使用 os.chdir()函数改变当前工作目录。所以在用chdir()函数的时候别忘记指定一个文件路径。

F:\selenium_demo\shopX_demo\index
F:\selenium_demo\shopX_demo\casedata

处理文件名和目录名

import os

print(os.path.join(r"F:\selenium_demo\shopX_demo\index", "book.py"))
print(os.path.join(r"F:\selenium_demo\shopX_demo\index/", "book.py"))
print(os.path.join(os.path.expanduser('~')))
print(os.path.join(os.path.expanduser('~'), "jmeter.log"))

看这三个例子。os.path.join() 函数从一个或多个路径片段中构造一个路径名。在这个例子中, 它仅仅是简单的拼接字符串。
第二个例子就是增加了一个不一样的斜杠,不过问题不大,路径一样可以拼接,文件依然可以访问。
os.path.expanduser() 用来将包含~符号(表示当前用户Home 目录)在任何有 Home 目录概念的操作系统上(包括 Linux,Mac OS X 和 Windows),这个函数都能工作。

如果有对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,可以 点这自行获取…

分割路径

path = r'F:\selenium_demo\shopX_demo\index\book.py'
print(os.path.split(path))
(name, filename) = os.path.split(path)
print(name, "名称为:"+filename)
(shortname, extension) = os.path.splitext(filename)
print(shortname, "后缀名:" + extension)

第一个print,split 函数分割一个完整路径并返回目录和文件名。

第二个print,你是不是看着变量就是头皮发麻,这是一种写法,知道就好。多个值时应该使用多变量赋值,将split函数的返回值赋 值给一个二元组。每个变量获得了返回元组中的对应元素的 值。

第三个print,获取到了第二个print的文件名称,我们又用了os.path.splitext() 函数,分割一个文件名并返回短文件名和扩展名。可以使用同样的技术将它们的值 赋值给不同的变量。

('F:\\selenium_demo\\shopX_demo\\index', 'book.py')
F:\selenium_demo\shopX_demo\index 名称为:book.py
book 后缀名:.py

罗列目录内容

首先是确认目录种有文件。必不可少。其次glob 模块是 Python 标准库中的另一个工具,它可以通过编程的方法获得一个目录的内容,并且它使用熟悉的命令行下的通配符。

import glob

print(glob.glob('*qing*.py'))

# ['qing.py', 'qingan.py']

文件中我创建,qing.py以及qingan.py文件。上述的代码,*用于匹配,不论你是1qing还是qing1文件都是可以匹配到的。其次我添加了要求就是匹配.py类型的文件。所以,它回自动匹配当前文件中所有带qing.py的文件。

获取文件元信息

每一个现代文件系统都对文件存储了元信息: 创建时间,最后修改时间,文件大小等等。那么我们如何获取查看呢。

import os
import time

i = os.stat('book.py')
print(i)
o = time.localtime(i.st_mtime)
print(o)

# os.stat_result(st_mode=33206, st_ino=4503599627371288, st_dev=2027176494, st_nlink=1, st_uid=0, st_gid=0, st_size=100, st_atime=1643383767, st_mtime=1643383767, st_ctime=1637983494)

# time.struct_time(tm_year=2022, tm_mon=1, tm_mday=28, tm_hour=23, tm_min=29, tm_sec=27, tm_wday=4, tm_yday=28, tm_isdst=0)

i = os.stat('book.py')输出的结果可以很明确的看到里面的一些信息,st_mtime最后的修改时间,那么我们需要更加的详细的最后修改时间信息应该怎么办?time.localtime(i.st_mtime),时间戳调用。os.stat()函数返回值的 st_mtime 属性转换成更有用的包含年、月、日、小时、分钟、秒的结构体。

构造绝对路径

os.path.realpath()函数,很简单,直接看例子:

import os

print(os.path.realpath('book.py'))

# F:\selenium_demo\shopX_demo\index\book.py

这样就能得到一个文件的绝对路径了。

实例上手

import os

class Config:
    ''' 
    项目下所有文件的相对路径
    '''
    Base_Path = os.path.abspath(os.path.dirname(os.path.abspath(__file__)) + '/..')
    Base_readd = Base_Path + r'\casetest\case02.xlsx'
    ChromeDriver_Path = Base_Path + r'\lib\chromedriver.exe'
    FirefoxDriver_Path = Base_Path + r'\lib\geckodriver.exe'

re = Config()

这只是一个举例,这样可以直接定位到当前的文件,通过路径拼接的方式,直接定位到想要定位的文件夹或者文件。还是比较方便的。也可以用上面所讲的知识点。

最后:你如果是对python自动化测试、web自动化、接口自动化、移动端自动化、面试经验交流等等感兴趣的测试人,可以 点这自行获取…

相关文章

  • Pthon--自动化实用技巧篇--文件目录处理

    这里是清安,为什么要讲这一篇,主要是因为这个在自动化测试框架或者脚本的编写的时候会用到,还是比较方便的。 Pyth...

  • webpack 系列文章

    初始篇 配置篇 处理ES6 处理CSS 处理静态资源 处理目录文件 使用 DevServer 使用 Vue 用 R...

  • RobotFramework学习09-项目目录&执行参数

    RobotFramework学习笔记目录 一、自动化项目的目录结构 已经接触到的项目文件种类测试套件文件、目录RF...

  • shell命令行基础

    遍历文档目录 处理文件 使用-i强制问询对文件的操作 处理目录 查看文件内容 打包或者压缩文件 参数: -c建立新...

  • csv模块读写,map映射namedtuple处理csv快速

    csv模块处理csv文件,不用pandas之前还是可行的,接口自动化namedtuple命名元组处理csv文件会更...

  • Linux文件操作

    文件操作 (Linux文件操作)) [文件|目录] Linux文件操作:为了对文件和目录进程处理,你需要用到系统...

  • linux

    查询Linux ip :ip addr 命令篇 文件处理 1.查询目录的内容 2.切换目录 3.当前所在的工作空间...

  • linux上的文件管理命令

    文件处理命令: 1.ls 功能:显示目录文件 语法:ls 选项[-ald] [文件或目录] -a 显示所有文件,包...

  • 文件和目录处理相关

    文件和目录处理相关 题: 考点:文件操作/写入操作; 延伸:目录操作函数,其他文件操作; 文件读写操作 文件系统函...

  • Linux 常见命令

    文件相关 cd 切换目录: 查看当前目录: 文件权限 查看文件 搜索文件 特殊文件 文本处理 进程相关 查看进程...

网友评论

      本文标题:Pthon--自动化实用技巧篇--文件目录处理

      本文链接:https://www.haomeiwen.com/subject/qsirprtx.html