首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python 自动化指南(繁琐工作自动化)第二版:十七、计时、安排任务和启动程序

如果你想从你 Python 脚本启动一个外部程序,将程序文件名传递给subprocess.Popen()。(在 Windows 上,右击应用开始菜单项,选择属性查看应用文件名。...大多数具有图形用户界面(GUI)应用不像基于命令行基于终端程序那样广泛使用命令行参数。但是大多数 GUI 应用会接受一个文件单个参数,应用在启动时会立即打开这个文件。...简单地将python.exe可执行文件递给Popen()文件名。您希望作为其参数运行 py* 脚本。...如果您正在启动脚本需要命令行参数,请将它们添加到列表脚本文件后面。...最后,您 Python 程序可以使用subprocess.Popen()函数启动其他应用。命令行参数可以传递给Popen()调用,以便用应用打开特定文档。

2.7K20

Python 自动化指南(繁琐工作自动化)第二版:二十、使用 GUI 自动化控制键盘和鼠标

这些产品实际上与您可以用pyautogui模块自己制作 Python 脚本没有什么不同,模块具有模拟鼠标移动、按钮点击和鼠标滚轮滚动函数。...检查 Mu、IDLE、终端您用来运行 Python 脚本任何应用。系统会提示您输入密码以确认这些更改。 保持在轨道上 在您进入 GUI 自动化之前,您应该知道如何避免可能出现问题。...一旦有了想要选择特定图像四整数元组,就可以通过将元组传递给click()来单击该区域中心。...如何将当前屏幕内容保存到一个名为screenshot.png图像文件? 什么代码会在每次调用 PyAutoGUI 函数后设置两秒钟暂停?...最后,调用pyperclip.paste()从剪贴板检索文本,并将其粘贴到 Python 程序。从那里,您可以随意使用这个字符串,但现在只需将它传递给print()。

8.2K51
您找到你想要的搜索结果了吗?
是的
没有找到

绕过Disable Functions来搞事情

漏洞原因是Bash使用环境变量是通过函数名称来调用,导致漏洞出现是以(){开头定义环境变量在命令 ENV 解析成函数后,Bash执行并未退出,而是继续解析并执行shell命令。...PHP里某些函数(例如:mail()、imap_mail())能调用popen其他能够派生bash子进程函数,可以通过这些函数来触发破壳漏洞(CVE-2014-6271)执行命令。...交给PHP解释器处理很好,但是,PHP解释器如何与Web服务器进行通信呢?为了解决不同语言解释器(如php、python解释器)与Web服务器通信,于是出现了CGI协议。...可见,当PHP所有的命令执行函数被禁用后,通过PHP 7.4新特性FFI可以实现用PHP代码调用C代码方式,先声明C命令执行函数其他能实现我们需求函数,然后再通过FFI变量调用C函数即可Bypass...PHP源码函数 其次,我们还有一种思路,即FFI可以直接调用php源码函数,比如这个php_exec()函数就是php源码一个函数,当他参数type为3时对应着调用是passthru()

4.3K40

Linux 下Python 脚本编写奇技淫巧

其实python 脚本也可以用其他方式来接收 传递给文件数据或者bash命令输出,包括将命令行输出通过管道传递给脚本、重定向文件脚本,或在命令行传递一个文件文件名列表给脚本。...你既可以在子shell 进行繁重处理工作,同时也不会让子shellI/O受制于终端。...└─$ 复制或者移动文件和目录 「复制移动文件和目录,但是又不想调用 shell 命令。」...「你需要写一个涉及到文件查找操作脚本,比如对日志归档文件重命名工具,你不想在 Python 脚本调用 shell,或者你要实现一些 shell 不能做功能。」...查找文件,可使用 os.walk() 函数一个顶级目录名给它 #!

1.5K30

Python 自动化指南(繁琐工作自动化)第二版:九、读取和写入文件

调用os.path.basename(path)将返回一个字符串,字符串包含path参数中最后一个斜杠之后所有内容。路径目录(dir)名和基本名在图 9-5 列出。...更常见写入文件方式是使用open()函数文件对象。在 Python 读写文件有三个步骤: 调用open()函数返回一个File对象。 在File对象上调用read()write()方法。...但是如果不想依赖 Python 默认值,可以通过将字符串值'r'作为第二个参数递给open()来显式指定模式。...模块使您不必担心如何将程序数据存储到文件。 您程序可以使用shelve模块在以后重新打开并从这些架子文件检索数据。架值不一定要以读写模式打开,一旦打开就可以两种模式都打开。...这些文件通过调用 ➊ 和 ➋ open()函数来创建,使用'w'作为第二个参数以写模式打开它们。 在 ➌ write()语句创建一个测验标题供学生填写。

3.4K51

Python 进阶指南(编程轻松进阶):二、环境配置和命令行

这有助于更好地实现自动化,因为您可以将多个特定命令组合成脚本来执行复杂操作。 命令行程序存在于计算机可执行文件。在这种情况下,我们通常称之为 shell shell 脚本。...使用命令行参数 命令行参数是您在命令名后输入文本。像传递给 Python 函数调用参数一样,它们为命令提供了特定选项附加指示。...以下部分详细介绍了如何针对您特定操作系统执行此操作。 在 Windows 上运行 Python 程序 在 Windows 上,您可以通过其他几种方式运行 Python 程序。...您可以通过创建一个批处理脚本来解决这些问题,它是一个带有.bat文件扩展名小文本文件,可以一次运行多个终端命令,很像 MacOS 和 Linux Shell 脚本。...每个命令开头@符号防止它显示在终端窗口中,并且%*将在批处理文件名后输入任何命令行参数转发给 Python 脚本Python 脚本依次读取sys.argv列表命令行参数

6.3K60

Python 自动化指南(繁琐工作自动化)第二版:十六、使用 CSV 文件和 JSON 数据

但不是在open()返回File对象上调用read()readlines()方法,而是将其传递给csv.reader()函数 ➌。这将返回一个reader对象供您使用。...注意,您没有将文件名字符串直接传递给csv.reader()函数。 访问reader对象最直接方法是通过将它传递给list()➍ 来将其转换成普通 Python 列表。...我们将结果存储在url并将url传递给requests.get()。requests.get()调用返回一个Response对象,您可以通过调用raise_for_status()来检查它错误。...前几章已经教你如何使用 Python 来解析各种文件格式信息。一个常见任务是从各种格式中提取数据,并对其进行解析以获得您需要特定信息。这些任务通常特定于商业软件没有最佳帮助情况。...通过编写自己脚本,您可以让计算机处理以这些格式渲染大量数据。 在第 18 章,你将脱离数据格式,学习如何让你程序通过发送电子邮件和文本信息与你交流。

11.5K40

Python 自动化指南(繁琐工作自动化)第二版:十八、发送电子邮件和短信

如果选择文件夹不存在,Python 会抛出一个imaplib.error异常。 readonly=True关键字参数防止您在随后方法调用中意外更改删除该文件任何电子邮件。...您计算机上返回 UID 列表将与此处显示不同;它们对于特定电子邮件帐户是唯一。当您稍后将 UID 传递给其他函数调用时,请使用您收到 UID 值,而不是本书示例打印值。...我们在收件箱搜索在特定日期收到消息,并将返回消息 id 存储在UIDs➋ 。...举个简单例子,这里有一个带有textmyself()函数Python 程序,它发送一条作为字符串参数递给消息。...如果想让其他程序也能使用textmyself()函数,只需将textmy.py文件放在与 Python 脚本相同文件

11.1K40

40 个简单又有效 Linux Shell 脚本示例

这是一个简单程序,将字符串 “HelloWorld” 打印到标准输出。然后,使用 vim nano 等编辑器创建 hello-world.sh 文件并将以下行复制到其中。 #!...*)用于匹配除 100 和 200 以外所有输入。 14、命令行参数 在许多情况下,直接从命令 shell 获取参数是有益。下面的示例演示了如何在 bash 执行此操作。 #!...所以,在你程序检查类似的情况。 21、Bash 函数 与任何编程方言一样,函数在 Linux shell 脚本扮演着重要角色。它们允许管理员创建自定义代码块以供频繁使用。...此外,您需要提供文件目录名作为命令行参数。对当前工作目录使用句点(.)。 35、打印文件目录数量 下面的 Linuxbash 脚本查找给定目录存在文件文件数量。...36、清理日志文件 下一个简单示例演示了在现实生活中使用 shell 脚本简便方法。程序只需删除 / var/log 目录所有日志文件。您可以更改保存此目录变量以清理其他日志。 #!

14510

shell语法学习

*)用于匹配除 100 和 200 以外所有输入。 14.命令行参数 在许多情况下,直接从命令 shell 获取参数是有益。下面的示例演示了如何在 bash 执行此操作。 #!...所以,在你程序检查类似的情况。 21.Bash 函数 与任何编程方言一样,函数在 Linux shell 脚本扮演着重要角色。它们允许管理员创建自定义代码块以供频繁使用。...此外,您需要提供文件目录名作为命令行参数。对当前工作目录使用句点(.)。 35.打印文件目录数量 下面的 Linuxbash 脚本查找给定目录存在文件文件数量。...36.清理日志文件 下一个简单示例演示了在现实生活中使用 shell 脚本简便方法。程序只需删除 / var/log 目录所有日志文件。您可以更改保存此目录变量以清理其他日志。 #!...以下示例将备份过去 24 小时内修改每个文件目录。程序使用 find 命令执行此操作。 #!

1.2K40

Python 自动化指南(繁琐工作自动化)第二版:十四、使用谷歌表格

/apis/library/drive.googleapis.com 您还需要获得三个文件,它们应该保存在与您使用 EZSheets Python 脚本相同文件。...将该文件重命名为credentials-sheets.json,并将其放在与 Python 脚本相同文件。...前面的例子表明getColumn(1)和getColumn('A')返回相同列表。 updateRow()和updateColumn()函数将用传递给函数值列表分别覆盖行所有数据。...发生这种情况时,读取写入数据函数调用需要几秒钟(甚至一两分钟)才能返回。如果请求继续失败(如果另一个使用相同证书脚本也在发出请求,这是可能),EZSheets 将再次引发这个异常。...编写一个脚本,将提交文件递给upload()。

8.4K50

shell脚本编程之路3

Shell 函数必须先定义后使用 Shell 函数与其他高级语言函数有相似之处,也有返回值、删除函数、在终端调用函数(参和递归)等等....#执行结果# [返回空值] this is aa, this is bb this is cc 函数返回值为:0 函数参数Shell调用函数时可以向其传递参数,在函数体内部,通过 n 形式来获取参数值...来获取执行结果; shell函数参与脚本参是一致,但是得注意 $0 代表任然是父脚本名称; 删除函数 描述:像删除变量一样,删除函数也可以使用 unset 命令,不过要加上 .f 选项,如下所示...如果你希望直接从终端调用函数可以将函数定义在主目录下 .profile 文件,这样每次登录后在命令提示符后面输入函数名字就可以立即调用。...WeiyiGeek.函数嵌套删除 0x09 shell脚本包含 描述:Shell文件包含像其他语言一样,Shell 也可以包含外部脚本,将外部脚本内容合并到当前脚本,也能在函数中进行调用外部变量 脚本包含

3.3K10

用Click编写Python命令行工具

通常从一个非常简单脚本开始,运行这些python代码来完成一件特定事情。例如:访问web API并将输出打印到控制台: ?...它们通常被称为命令子命令 当你使用pip install安装Python包时,您可能已经使用了CLI。命令install会告诉CLI您将访问功能来安装软件包,并使你能访问特性参数。...首先,我们现在不用担心最后两行,当文件作为脚本执行时,这只是Python(稍微不直观)方式来运行主函数。...它需要一个强制参数location,它被假定为一个字符串。 我们还可以通过函数调用传递api_key来提供API密钥。 它是可选,可以使用示例键作为默认值。...在我们例子,命令行参数location值将作为位置参数递给函数。有道理吧? 你也可以在你名字中使用破折号( - ),例如api-key,在这个函数,Click会将名字划线变为下划线。

3.3K10

写好Shell脚本那些不得不知道细节

如: "$#" 记录传递给shell自变量个数 "$*" 传递给脚本函数所有参数 $* 和 $@ 都表示传递给函数脚本所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n"...txt ,并将 $file 赋值为txt,空值及非空值不作处理 ${file:=txt} 若 $file 没设定空值,则回 txt ,将 $file 赋值为txt,非空值时不作处理...exit类似,作用是跳出函数;在函数中使用 exit会退出整个shell脚本,而不是退出函数; exitn:退出当前shell程序,n为返回值 returnn:用于函数,n是函数返回值,用于判断函数执行是否正确...在单括号[]只能用 -a、 -o、 !,不能用 &&, &&只能在双括号 [[]]两条命令之间使用: [[-f" [-f" 15. 脚本路径 在脚本里,切忌使用 .... Filename 文件可以无 "执行权限"。 注:运行一个shell脚本时会启动另一个命令解释器。 .

1.8K10

Python 自动化指南(繁琐工作自动化)第二版:十五、使用 PDF 和 WORD 文档

您可以通过使用两个参数调用 Python open()函数来获得这样一个File对象:您希望 PDF 文件名是什么字符串,以及'wb'表示文件应该以写二进制模式打开。...记住,传递给PyPDF2.PdfFileReader()File对象需要通过将'rb'作为第二个参数递给open()以二进制读取模式打开。...open()调用返回一个File对象,对象被传递给PyPDF2.PdfFileReader()为 PDF 文件创建一个PdfFileReader对象。...练习题 PDF 文件字符串值是传递给PyPDF2.PdfFileReader()函数吗。你传递给函数是什么呢?...PDF 偏执狂 使用第 10 章os.walk()函数,编写一个脚本脚本将检查文件夹(及其子文件夹)每个 PDF,并使用命令行中提供密码加密 PDF。

3.5K50

命令行上数据科学第二版 二、开始

Shell 内置工具像二进制可执行文件一样不容易检查更改。 解释脚本 解释脚本是一个可以由二进制可执行文件执行文本文件。常用脚本包括:Python、R 和 Bash 脚本。.../fac.py 5 120 在第四章,我们将详细讨论如何使用解释脚本创建可重用命令行工具。 Shell 函数 在我们例子Shell 函数是由zsh执行函数。...它们提供了与脚本相似的功能,但是它们通常(但不一定)比脚本小,也更倾向于个人化。下面的命令定义了一个名为fac函数,就像上面解释 Python 脚本一样,它计算我们作为参数传递整数阶乘。...它通过使用seq生成一个数字列表,使用paste将这些数字放在一行作为分隔符,并将该等式传递给bc,后者对其求值并输出结果。...由于参数原因,无法使用别名定义函数fac。尽管如此,别名可以让你节省大量击键次数。像 Shell 函数一样,别名通常在文件.zshrc定义。

71420

翻译:Perl代码审计:Perl脚本存在问题与存在安全风险

本文也会展示如何利用这些漏洞,以及如何修复避免它们。...通过收集一个程序输出,以特定方式重新格式化,并将其作为输入传递给其他程序,仔细地协调它们活动,从而使一切都能顺利运行。 执行外部程序系统命令一种方法是调用exec()函数。...下面我们将详细讨论system()与exec()函数调用。 system()抽象列表 1.程序名称 2.其余元素(作为传递参数递给程序) 如果只要一个参数,system()调用方式会有不同。...前面提到过,system()接受一个参数列表,并将第一个元素作为命令执行,将其余元素作为参数传给它,我们只需要稍微更改脚本,以便执行我们程序。...当你仅通过指定外部应用程序实用程序相对路径从代码访问外部应用程序实用程序时,你会使整个程序及其运行系统安全性受到影响。

2.6K51

如何使用zx编写shell脚本

前言 在这篇文章,我们将学习谷歌zx库提供了什么,以及我们如何使用它来用Node.js编写shell脚本。...命令输出显示两次。 在输出末尾多了一个新行。 zx默认以verbose模式运行。它将输出你传递给$函数命令,同时也输出命令标准输出。...它循环遍历数组,对每个程序调用which函数。如果which找到了程序路径,它将返回程序。否则,如果程序找不到,它将抛出一个错误。...我们现在要给脚本添加一个 --directory命令行参数。 zx内置了minimist[11]包,它能够解析传递给脚本任何命令行参数。...总结 在这篇文章,我们已经学会了如何在Node.js借助Googlezx库来创建强大shell脚本。我们使用了它提供实用功能和库来创建一个灵活命令行工具。

4K20

Python真的有用,看它怎么控制你手机

本文这个快速指南中,我将向你展示如何使用Python代码与ADB交互,并如何创建2个快速脚本。...如果使用是Windows,则将zip文件解压缩到一个目录,然后将此目录添加到您路径。这样一来,我们只需在终端窗口中键入scrcpy即可从系统上任何位置访问程序。...3.编写脚本基础 我们要与设备连接主要方式是使用shell通过这种方式,我们可以发送命令以模拟特定位置触摸从A滑动到B。要模拟屏幕触摸(轻击),我们首先需要工作了解屏幕坐标的工作方式。...首先,我们必须导入与以前相同库,使用相同connect方法。 在我们主要函数,我们可以调用connect函数,并为搜索栏x和y坐标分配一个变量。...注意这是一个字符串,而不是一个列表元组,这样我们就可以轻松地将坐标合并到我们shell命令

1.4K20
领券