【问题标题】:File creation task automation with python in windows 10在 Windows 10 中使用 python 的文件创建任务自动化
【发布时间】:2020-04-20 20:35:10
【问题描述】:

我正在尝试使用 python 构建任务自动化脚本,为此,我正在关注 youtube 上的教程。

.my_commands.sh

#!/bin/bash

function create() {
    python create.py
    echo $1
}

创建.py

print('Hello World')

然后在命令提示符下,我运行这个命令create aditya,它应该根据教程打印出来。

Hello World
aditya

但它会给出一些类似这样的错误。

'create' is not recognized as an internal or external command,
operable program or batch file.

在教程中他们使用mac 系统,我想知道这是否可以在 Windows 上做同样的事情?如果不是为什么?

【问题讨论】:

  • 我认为这在 Mac 上也根本行不通。代码的某些部分肯定丢失了。您必须运行 my_commands.sh 并以某种方式在该 Bash 脚本中调用 create() 函数。
  • 这是教程链接youtube.com/…
  • @adityakumar :错误消息表明您没有名为 create 的可执行程序或函数。在尝试使用您的功能之前,您是否提供了 .my_commands.sh
  • @user1934428 我不关心文件的来源。这是否意味着它可以像我们在 linux 系统中使用命令 chmod +x fileName 一样执行?
  • 你在说哪个fileName?您在发布的文件中只有一个文件 (.my_commands.sh),并且由于该文件定义了您要使用的功能,因此它必须由应该使用此功能的 shell 获取,并且因为它是一个要获取的文件,你不需要x位。您也不需要 #! 行,尽管加入是个好主意,这样文本编辑器就可以识别必须应用哪种语法突出显示。

标签: python windows shell command-prompt


【解决方案1】:

Windows 原生等效于 shellscript 是一个 *.bat 文件,它有自己的语法(因为 powershell 可以使用 shellscript,但它本身会带来一些问题)。

你可以直接从命令行运行python脚本

python create.py

【讨论】:

  • 虽然在 Python 中做所有事情对我来说确实听起来最合理,但 OP 似乎想尝试 POSIX shell 函数和 Python 之间的交互,因此无论如何都不想使用 BAT 或 Powershell。您确实有几种可用于 Windows 10 的 shell 语言实现,所以我认为我们应该在这个方向上向他提出建议。
【解决方案2】:

你应该试试这个直接执行你的脚本:

python3 create.py

或者在终端里你可以写

> source .my_commands.sh

之后,您可以执行create 命令以获得完全符合预期的输出。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-14
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-23
    相关资源
    最近更新 更多