python + uiautomator2编译平板语言工具并切换打包exe可执行文件1.1.4版本--终版(上)

简介: python + uiautomator2编译平板语言工具并切换打包exe可执行文件1.1.4版本--终版(上)

版本更新 1.1.1

需求更新:

1.截图的命名方式为 :对应表格的第几行 + 所切换的语言 + 匹配结果 (✔)

2.Excel需复制原版内容再进行写入 (✔)

3.可执行程序exe,需要提示当前语言切换进度(例如:3/88 表示一共有88个语言需要切换,当前为第三个)

4.每个文件都要有独立的文件夹,最好每次会自动新建 (✔)

5.excel写入超链接,点击可以查看结果图片的截图(✔)


版本 1.1.1 笔记

把excel复制到myExcel中:

image.pngimage.png1.进入当前文件夹执行cmd命令,cmd获取当前文件夹的路径(这样再别的电脑别的盘符下面也能找到对应文件)

chdir   #获取当前目录的路径

image.png

2.进行复制(两种方式,一种是绝对路径,一种是相对路径,推荐相对路径)

2.1 绝对路径复制 copy 被复制的文件路径 需要复制到的目录路径

D:\Y_Script\language_draft_exe01>copy  D:\Y_Script\language_draft_exe01\myExcel\Test.xlsx D:\Y_Script\language_draft_exe01\resultExcel\
已复制         1 个文件。

image.png

2.2 相对路径复制 copy 当前目录的相对路径被复制文件目录 当前目录的相对路径目标文件夹目录后面直接加 -Y会直接覆盖不会有提示

D:\Y_Script\language_draft_exe01>copy  .\myExcel\Test.xlsx .\resultExcel\
覆盖 .\resultExcel\Test.xlsx 吗? (Yes/No/All): yes
已复制         1 个文件。

image.png

D:\Y_Script\language_draft_exe01>copy  .\myExcel\Test.xlsx .\resultExcel\ /Y
已复制         1 个文件。
#这样就直接覆盖,不会有提示

image.png

2.3 补充知识,如何查看帮助 比如我要查看copy的帮助,直接输入 copy/?

D:\Y_Script\language_draft_exe01>copy/?
将一份或多份文件复制到另一个位置。
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
     [+ source [/A | /B] [+ ...]] [destination [/A | /B]]
  source       指定要复制的文件。
  /A           表示一个 ASCII 文本文件。
  /B           表示一个二进位文件。
  /D           允许解密要创建的目标文件
  destination  为新文件指定目录和/或文件名。
  /V           验证新文件写入是否正确。
  /N           复制带有非 8dot3 名称的文件时,
               尽可能使用短文件名。
  /Y           不使用确认是否要覆盖现有目标文件
               的提示。
  /-Y          使用确认是否要覆盖现有目标文件
               的提示。
  /Z           用可重新启动模式复制已联网的文件。
/L           如果源是符号链接,请将链接复制
               到目标而不是源链接指向的实际文件。
命令行开关 /Y 可以在 COPYCMD 环境变量中预先设定。
这可能会被命令行上的 /-Y 替代。除非 COPY
命令是在一个批处理脚本中执行的,默认值应为
在覆盖时进行提示。
要附加文件,请为目标指定一个文件,为源指定
数个文件(用通配符或 file1+file2+file3 格式)。

python中连续执行cmd命令

# &&符号表示执行第一个命令成功再执行第二个命令
os.system(r"cd.. && chdir && copy .\myExcel\  .\resultExcel\ /Y")

python读取配置文件

配置文件如下所示:config.ini

[language&input]
#The Number is language&input index
languageindex = 2
[systemUpdate]
#The Number is systemUpdate last index
Updateindex = 3
读取[language&input]下所有的键:self.cf.options("language&input")
读取[language&input]下所有的键对:self.cf.items("language&input")
class RC():
    def __init__(self):
        pass
    def readConfig(self):
        self.cf = configparser.ConfigParser()
        self.cf.read("./setting/config.ini",encoding="utf-8-sig")  # 读取配置文件
    def getLanguageindex(self):
        self.readConfig()
        languageindex = self.cf.get("language&input", "languageindex") #获取[language&input]中languageindex对应的值
        return int(languageindex)-1
    def getUpdateindex(self):
        self.readConfig()
        Updateindex = self.cf.get("systemUpdate", "Updateindex") # 获取[systemUpdate]中Updateindex对应的值
        return int(Updateindex)

python中log记录

def savelog(self):
        path =  "{}\main.log".format(self.makeFolderPath)
        logging.basicConfig(level=logging.DEBUG,  # 控制台打印的日志级别
                            filename=path,
                            filemode='w',  ##模式,有w和a,w就是写模式,每次都会重新写日志,覆盖之前的日志
                            # a是追加模式,默认如果不写的话,就是追加模式
                            format=
                            '%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'
                            # 日志格式
                            )


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4天前
|
Python
Python代码扫描目录下的文件并获取路径
【5月更文挑战第12天】Python代码扫描目录下的文件并获取路径
22 1
|
4天前
|
存储 JSON 数据库
Python中列表数据的保存与读取:以txt文件为例
Python中列表数据的保存与读取:以txt文件为例
18 2
|
4天前
|
存储 NoSQL MongoDB
MongoDB数据库转换为表格文件的Python实现
MongoDB数据库转换为表格文件的Python实现
37 0
|
4天前
|
Shell Python
Python Stock guess_indicators_daily_job.py文件的调整
Python Stock guess_indicators_daily_job.py文件的调整
16 1
|
4天前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
【5月更文挑战第10天】BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
23 1
|
1天前
|
安全 Java C语言
【Python 的内存管理机制专栏】Python 内存管理机制与底层实现:C 语言视角的剖析
【5月更文挑战第18天】Python的内存管理涉及对象分配、引用计数和垃圾回收。对象分配类似C的动态内存,但更自动化。引用计数跟踪对象引用,计数为0时回收。垃圾回收机制自动清理不再使用的对象,避免内存泄漏。这种高效自动化管理让开发者能专注于业务逻辑,而底层实现的理解有助于解决特殊问题和优化性能。
【Python 的内存管理机制专栏】Python 内存管理机制与底层实现:C 语言视角的剖析
|
1天前
|
关系型数据库 Java 分布式数据库
实时计算 Flink版操作报错合集之在使用 Python UDF 时遇到 requests 包的导入问题,提示 OpenSSL 版本不兼容如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
14 5
|
2天前
|
Python
Python办公自动化|自动整理文件,一键完成!
Python办公自动化|自动整理文件,一键完成!
|
4天前
|
Python
Python知识点——文件和数据格式化
Python知识点——文件和数据格式化
7 0
|
4天前
|
存储 JSON 安全
Python中的文件操作与文件IO操作
【5月更文挑战第14天】在Python中,文件操作是常见任务,包括读取、写入和处理文件内容。`open()`函数是核心,接受文件路径和模式(如'r'、'w'、'a'、'b'和'+')参数。本文详细讨论了文件操作基础,如读写模式,以及文件IO操作,如读取、写入和移动指针。异常处理是关键,使用`try-except`捕获`FileNotFoundError`和`PermissionError`等异常。进阶技巧涉及`with`语句、`readline()`、`os`和`shutil`模块。数据序列化与反序列化方面,介绍了
17 0