- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
因此,我正在 Apple 的 Automator 中创建一个工作流程,该工作流程在 shell 中使用 Python 脚本
这就是每个步骤现在正在做的事情:
1.我从 Excel 粘贴一列姓名
2.将它们组织在一个列表中......例如[‘a’、‘b’、‘c’]。 。 。这就是奇怪的地方
3.我在查找器项上选择了一个文本文件,该文件是第二个 python 脚本 (#4) 中的输入,但问题是我还需要在脚本中从 #2 生成的列表
4.该脚本应该使用#2 中的列表和#3 选择的文件
当我没有 #3 时,它工作正常,因为我使用了 sys.argv 1让变量传输,但我不知道如何跳过将其输入“询问查找器项目”并直接输入#4
基本上,我在为另一个变量选择文件时无法将工作流程中的列表输入到脚本中,这样我就可以:
my_list = sys.argv[1] #from step 2
my_file = sys.argv[2] #selected from step 3
最佳答案
除非您在 #3 中选择“忽略此操作的输入”,否则它只会将选定的文件附加到脚本 #2 的输出作为其输出,因此脚本 #4 将获取它们。
问题是你得到了一个隐式的“从文本到文件/文件夹的转换”,将#2输入到#3中。因此,如果 #2 的输出是看起来像路径名但实际上不是的字符串列表,它们将被转换为不存在的文件的路径名,这将被转换为对不存在的文件的引用,这将当 #3 的输出转换回 #4 的文本时,它就会被删除。
<小时/>解决这个问题的简单方法(概念上很简单;它确实意味着一些额外的代码......)是让脚本 #2 将列表存储在临时文件中,并打印出文件名。该文件名将通过转换并从另一端输出,因此脚本 #4 可以打开并读取文件以获取列表。
举一个愚蠢的例子,假设您正在这样做:
import sys
new_list = sorted(sys.argv[1:])
print '\n'.join(new_list)
相反,请执行以下操作:
import sys
import tempfile
new_list = sorted(sys.argv[1:])
with tempfile.NamedTemporaryFile('w', delete=False) as f:
f.write('\n'.join(new_list))
print f.name
然后,在脚本 #4 中,而不是这样:
import sys
new_list = sys.argv[1:-1]
step3 = sys.argv[-1]
...执行此操作:
import sys
with open(sys.argv[1]) as f:
new_list = list(f)
os.remove(sys.argv[1])
step3 = sys.argv[2]
当然,在更现实的示例中,您可能想要使用,例如 pickle.dump
而不仅仅是 '\n'.join
,但是这个应该足以展示这个想法。
关于python - 在 Automator 工作流程中传输参数。 Python 外壳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18967264/
我正在尝试创建一个工作流程,使用 Instapaper 将 URL 列表转换为纯文本,然后将文本保存在我机器上的文本文档中。 到目前为止,我已经能够获取 URL 列表、转换它们并保存文本文档。问题是我
有没有办法自动执行这些步骤? 打开 LibreOffice ODT 更新 TOC 和其他字段(例如通过菜单工具|更新|全部更新) 保存并关闭文档 最佳答案 如果您使用的是 Windows,那么使用 A
在 Microsoft Power Automate 中,使用表达式 utcNow() 可以获得当前日期(和时间)。我正在尝试获取昨天的日期。我尝试了 dateadd(utcNow(), -1) 和类
我使用 Power Automate Desktop 创建了一个桌面流程。但我无法安排或让它自动运行。有什么办法吗? 我不希望使用云流和使用网关连接桌面流。我需要在我的台式机本身内自动运行桌面流程。有
列表开始为空。然后,如果满足特定条件,我想为循环中的每次迭代附加一个值。我在变量操作中没有看到附加选项。 最佳答案 您可以使用字符串分割来实现此目的,假设您知道一个永远不会出现在值列表中的分隔符。我使
我使用 Power Automate Desktop 创建了一个桌面流程。但我无法安排或让它自动运行。有什么办法吗? 我不希望使用云流和使用网关连接桌面流。我需要在我的台式机本身内自动运行桌面流程。有
我使用的是 Mac OS X 11.0.1 Big Sur 我使用 Automator 创建了一个“看我做”的 QuickAction。我已经保存了它(似乎默认保存在 ~/Library/Servic
我的问题的历史: 我正在研究 UI automator (2.1.3) 和 Espresso 测试 + 在简单的 Mac Air (2014) 上使用 android studio (3.0.1)。之
有人要求我将 Sharepoint 上的 Excel 在线电子表格中的数据提取到 Power BI 中以创建仪表板 - 没问题,对吧?好吧,“数据点”之一实际上是指示状态的单元格的填充颜色。我进行了一
在 Power Automate 中,我正在调用一个返回此 JSON 的 API: { "status":"200", "Suburbs":[ { "
更新到 Mojave 后,我无法再使用之前使用的 automator 服务,并出现以下警报。 在“安全与隐私”中,我已经选中了 AppleScript Editor。 您发现我的代码有任何问题吗?或者
我在 Windows 7 下使用 Powershell 4,并且我的 cmdlet 定义如下: Function Transfer-File { [CmdletBinding()]
我在 commands.js 中使用这个方法 Cypress.Commands.add( 'iframeLoaded', { prevSubject: 'element' }, ($iframe) =
我正在使用 UI Automation 插件来自动化和测试在 Java 窗口中包含 HTML 对象的应用程序。我已将 UIATable 识别并保存在我的对象存储库中,并且以下方法工作正常: MsgBo
在我的项目中,有一个叫做创建任务的东西。创建任务并关闭页面后,系统会提示我一个警报“您即将关闭此应用程序并保存所有更改......” 然后是 OK 和 Cancel。 使用 F12,我无法检测到警报和
我使用 Cmder 作为我的命令提示符/控制台。 我发现自己每天多次使用相同的命令。例如 git merge --no-ff my-long-branch-name 有什么方法可以将这些命令存储在快捷
我是 Applescript 的新手,目前无法访问提示窗口,要求输入密码。 我正在为我的日常使用应用程序创建一个启动器,我想自动化启动过程。 现在,我只启动了两个应用程序,VirtualHostX 和
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 5年前关闭。 Improve this qu
如何为具有常规安装程序的程序创建自动安装程序,其中包含以下问题: 安装目录, 接受许可, 在桌面上创建图标 等等... 假设我可以为每个我想单独安装的程序构建一个自动安装程序,或者我想将文件放在一个自
如何在预定时间运行我的苹果脚本。我希望它每 45 分钟运行一次,但我不知道该怎么做。我将我的苹果脚本保存为应用程序。我接下来该怎么做? 谢谢 (目前,我正在使用 on idle 函数,但有更好的方法吗
我是一名优秀的程序员,十分优秀!