我试着把这个从Bash翻译成Python:第一个月func_name和configFile已在脚本前面定义。func_name是函数,configFile是指向XML文件的工作目录。但我不知道在这种情况下如何处理func_name,password和数组在这里吗?知道了Bash中的数组在Python中称为列表,我尝试过这样做,但我不确定:password = [configFile, "<password", "2"]是这样吗?
func_name
configFile
password
password = [configFile, "<password", "2"]
uurv41yg1#
大致翻译如下:
password = func_name(configFile, "<password", "2")
但这未必行得通,Python和bash的思维方式根本不同,你不能在它们之间来回“转换”;你必须用两种语言来思考不同的问题。例如,bash函数实际上没有返回值,它们可以在运行时打印输出(输出是一个字节序列),并返回一个状态代码(基本上,函数是否成功),您所拥有的bash代码捕获输出(函数打印的内容),将其视为字符串,并将其存储在password变量中。Python函数返回 objects。bash没有对象的概念。Python对象 * 可以是字符串......或者任何内置对象类型,或者任何从库中导入或自己定义的类型。这里我的Python代码接受函数返回的任何对象,并将其存储在password变量中。顺便说一句,Python函数没有返回状态。相反,它们可以抛出错误(这是bash没有的概念)。类似地,传递给bash函数的参数都是字符串,但在Python中它们是对象(可以是字符串,但也可以是完全不同类型的东西)。我强烈建议你学习你正在尝试使用的语言,你不能在语法层面上翻译它们,你需要在概念层面上翻译,而要做到这一点,你需要在这个层面上理解两种语言。
1条答案
按热度按时间uurv41yg1#
大致翻译如下:
但这未必行得通,Python和bash的思维方式根本不同,你不能在它们之间来回“转换”;你必须用两种语言来思考不同的问题。
例如,bash函数实际上没有返回值,它们可以在运行时打印输出(输出是一个字节序列),并返回一个状态代码(基本上,函数是否成功),您所拥有的bash代码捕获输出(函数打印的内容),将其视为字符串,并将其存储在
password
变量中。Python函数返回 objects。bash没有对象的概念。Python对象 * 可以是字符串......或者任何内置对象类型,或者任何从库中导入或自己定义的类型。这里我的Python代码接受函数返回的任何对象,并将其存储在
password
变量中。顺便说一句,Python函数没有返回状态。相反,它们可以抛出错误(这是bash没有的概念)。类似地,传递给bash函数的参数都是字符串,但在Python中它们是对象(可以是字符串,但也可以是完全不同类型的东西)。
我强烈建议你学习你正在尝试使用的语言,你不能在语法层面上翻译它们,你需要在概念层面上翻译,而要做到这一点,你需要在这个层面上理解两种语言。