
正文
python调用脚本函数 python 调用脚本
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎么在python脚本里面调用另外一个带参数的脚本?
一般情况下都是通过import脚本,然后直接调用脚本里的函数,调用函数就可以直接传递参数;因为Python并不像C语言那样有main函数。
import B(脚本名称)
B.hello(参数A,参数B)
相关问答
Q1: 怎么在python脚本中调用其它的python脚本运行?
若是同目录: import 1,3,5
若不是先把他们加到系统变量里:
import sys
sys.path.append('路径\1')
sys.path.append('路径\3')
sys.path.append('路径\5')
再直接import
Q2: python的脚本如何执行?
运行python脚本的几种方法:
一. 终端命令行下
[]$python "name.py"
二. python环境中
若脚本名称为name.pypython调用脚本函数,
其内容为:
a='head'
b='hehe'
print(a,b)
则使用
impport name
针对此种方法python调用脚本函数我们使用下面的语句来显示内容:
print (name.a)
head
print (name.b)
hehe
在同一个python环境中python调用脚本函数,第一次import加载以后,以后再使用import就不会有相应的结果显示python调用脚本函数了,在这个时候可以使用reload(name)在python
3.0中可能要加载ipm模块才能使用reload()函数
from imp import reload
reload(name)
三.使用from
假设脚本的名称为name.py
name.py的内容为:
a='head'
b='hehe'
print(a,b)
可以使用下边的方法来运行脚本:
from name import a,b,c
在这个python环境中python调用脚本函数我们就可以使用简单的变量名来调用其内容。
eg:
a
'head'
b
'hehe'
四.使用exec
方法为:
exec(open('name.py').read())
NOTICE:在上面的方法中,第三种和第四种方法会默认覆盖python环境中已经存在
的且和name.py中有重名的变量名,且系统不会给出提示,请注意这一点!
Q3: 在一个python脚本中调用另一个python脚本中的函数
from mydefa import A_def
print(A_def(2))#表示当前Python脚本中调用另一个Python脚本(mydefa.py)中python调用脚本函数的A_def(2)函数
#或者import mydefa;print(mydefa.A_def(2))
'''以下代码存入mydefa.py
import math
def A_def(r):
(Tab)return math.pi*r*r
#from math import pi
#def A_def(r):
#(Tab)return pi*r*r
'''
Q4: 怎样让Python脚本与C++程序互相调用
二、Python调用C/C++\x0d\x0a\x0d\x0a\x0d\x0a1、Python调用C动态链接库\x0d\x0a\x0d\x0a Python调用C库比较简单,不经过任何封装打包成so,再使用python的ctypes调用即可。\x0d\x0a(1)C语言文件:pycall.c\x0d\x0a\x0d\x0a[html] view plain copy \x0d\x0a/***gcc -o libpycall.so -shared -fPIC pycall.c*/ \x0d\x0a#include \x0d\x0a#include \x0d\x0aint foo(int a, int b) \x0d\x0a{ \x0d\x0a printf("you input %d and %d\n", a, b); \x0d\x0a return a+b; \x0d\x0a} \x0d\x0a(2)gcc编译生成动态库libpycall.so:gcc -o libpycall.so -shared -fPIC pycall.c。使用g++编译生成C动态库的代码中的函数或者方法时,需要使用extern "C"来进行编译。\x0d\x0a(3)Python调用动态库的文件:pycall.py\x0d\x0a\x0d\x0a[html] view plain copy \x0d\x0aimport ctypes \x0d\x0all = ctypes.cdll.LoadLibrary \x0d\x0alib = ll("./libpycall.so") \x0d\x0alib.foo(1, 3) \x0d\x0aprint '***finish***' \x0d\x0a(4)运行结果:\x0d\x0a\x0d\x0a\x0d\x0a2、Python调用C++(类)动态链接库 \x0d\x0a\x0d\x0a 需要extern "C"来辅助,也就是说还是只能调用C函数,不能直接调用方法,但是能解析C++方法。不是用extern "C",构建后的动态链接库没有这些函数的符号表。\x0d\x0a(1)C++类文件:pycallclass.cpp\x0d\x0a\x0d\x0a[html] view plain copy \x0d\x0a#include \x0d\x0ausing namespace std; \x0d\x0a \x0d\x0aclass TestLib \x0d\x0a{ \x0d\x0a public: \x0d\x0a void display(); \x0d\x0a void display(int a); \x0d\x0a}; \x0d\x0avoid TestLib::display() { \x0d\x0a cout \x0d\x0ausing namespace std; \x0d\x0aint test() \x0d\x0a{ \x0d\x0a int a = 10, b = 5; \x0d\x0a return a+b; \x0d\x0a} \x0d\x0aint main() \x0d\x0a{ \x0d\x0a cout \x0d\x0a#include \x0d\x0a#include \x0d\x0a \x0d\x0aint fac(int n) \x0d\x0a{ \x0d\x0a if (n
回答于 2022-11-16
python调用脚本函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于python 调用脚本、python调用脚本函数的信息别忘了在本站进行查找喔。







