Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从另一个python例程调用python例程?_Python_Python 3.x - Fatal编程技术网

如何从另一个python例程调用python例程?

如何从另一个python例程调用python例程?,python,python-3.x,Python,Python 3.x,html只是文本,通常非常重复。我有一个简单的家庭作业网页。我正在尝试自动化网页制作 我有用于生成html的Python例程(我制作了它们,所以它们是基本的,但它们都可以工作): 最后: makeWebpage.py 它们都只是输出一个文本文件 我不想把所有这些都放在一个非常大、很长的文件中(我很容易丢失绘图),我想从makeWebpage.py调用一个或多个我想要的文件并运行它,然后将这些部分合并到一个文本文件中 它们都在/home/pedro/textTohtml/I中,我在bash终端中

html只是文本,通常非常重复。我有一个简单的家庭作业网页。我正在尝试自动化网页制作

我有用于生成html的Python例程(我制作了它们,所以它们是基本的,但它们都可以工作):

最后:

makeWebpage.py
它们都只是输出一个文本文件

我不想把所有这些都放在一个非常大、很长的文件中(我很容易丢失绘图),我想从makeWebpage.py调用一个或多个我想要的文件并运行它,然后将这些部分合并到一个文本文件中

它们都在/home/pedro/textTohtml/I中,我在bash终端中运行它们

我不需要每周都做这些例行公事。
我所需要知道的是,我想要多少部分,以及里面有什么

例如,假设下周:第1部分是单选按钮,第2部分是文本框(填写空白练习)

我可以从makeWebpage.py调用这两个例程,而不在函数中实际定义它们吗

这些函数本身会生成一个文本文件,我可以打开该文件并将其集成到网页模板中

编辑:谢谢你的回答。我需要的是导入整个文件,每个文件都有自己的内部函数。 如果我这样做:

import file as fl
然后它会运行fl吗?
还是运行子流程更好?

这对您有何帮助:

你只需要使用

from file import function

在makeWebpage.py文件的开头导入函数。然后makeWebpage.py可以随时调用任何函数。

如果您只需要函数:

from FILE import FUNCTION
FUNCTION(*args,**kwargs)
如果要运行/执行python文件(所有内容):

[注意]文件必须是字符串并包含扩展名,例如
“some_file.py”
,而在导入语句中,只有文件名以明文形式指定

在这两种情况下,除非指定了路径(
“c:\Users\MyProfile\PythonFiles\python.py”
“/Users/MyProfile/PythonFiles\python.py”


编辑:如果您要从文件导入导入整个文件(严格地说是这样!)
*
您可以在变量或函数的名称前加下划线,以防止其被导入(有关PEP 8的更多信息)

注意,python有函数,通常不使用术语例程这里的是模块。根据您对它们的组织方式,即通过使用可重用函数填充它们,您可以在任何地方使用模块中编写的代码。如果要重用代码,您将需要定义一些函数,即使这些函数是单独的文件。从技术上讲,您可以使用
子流程运行每个文件的代码,但您真正应该做的是将代码包装在
def
s中,然后使用
import
。呜呼!我成功地导入了makeRBsV1,它工作起来就像做梦一样!谢谢你的链接!显然,我不需要编写.pyA问题:我做了“导入makeRBsInlineV1作为fl”,我的程序运行得很好。但它马上就开始了。我无法将其分配给字符串变量。我需要将输出分配给一个字符串变量。我修改了python,将return htmlString放在末尾。如何将输出分配给myString??这只是给出了一个错误:>>>string=import makeRBsInlineV1作为fl SyntaxError:invalid syntaxtry:htmlValue=yourMethodName()昨天我遇到了问题,但我是一个早起的人。今天早上5点,我很快就明白了!将我的所有模块导入makeWebpage.py!谢谢你的提示!我尝试了导入makeRBsV1作为fl,效果很好!
from FILE import FUNCTION
FUNCTION(*args,**kwargs)
import os
os.system("FILE")