【发布时间】:2023-06-17 08:37:02
【问题描述】:
我有一个名为 convertImage.py 的 python 文件,在文件中我有一个脚本,可以根据自己的喜好转换图像,整个转换脚本设置在一个名为 convertFile(fileName) 的函数中
现在我的问题是我需要从 linux 命令行执行这个 python 脚本,同时传递 convertFile(fileName) 函数。
示例:
linux user$: python convertImage.py convertFile(fileName)
这应该执行传递适当函数的python脚本。
示例:
def convertFile(fileName):
import os, sys
import Image
import string
splitName = string.split(fileName, "_")
endName = splitName[2]
splitTwo = string.split(endName, ".")
userFolder = splitTwo[0]
imageFile = "/var/www/uploads/tmp/"+fileName
...rest of the script...
return
执行这个python脚本并从liunx命令行正确地将文件名传递给函数的正确方法是什么?
提前致谢
【问题讨论】:
-
没有这样的东西。解析
sys.argv列表并选择正确的操作。检查argparse模块 -
S.Lott 提到,
<program> <subcommand> <command arguments>是一种很常见的风格。用户最好有命令名称,而不是了解内部实现。并且使用括号(需要在 bash 中转义)作为语法的必需部分只是卑鄙的。 -
括号仅作为示例,但我感谢所有帮助并使用 sys.argv 使其工作
-
@knittledan:
sys.argv通常是一个糟糕的选择。请注意,所有答案都特别建议避免这种情况。
标签: python linux shell command-line