python调用
A. python py文件中执行另一个py文件
方法一、
import os
os.system("python filename.py")
方法二:
execfile('xx.py'),括号内为py文件路径;
注:如果需要传参数,就用os.system()那种方法;如果还想获得这个文件的输出,那就得用os.popen();
(1)python调用扩展阅读:
Python入门命令行怎么调用.py文件中容易出现的问题
1、如果文件路径是这样的:C:Userssd est.py,那么在命令行状态下输入:
C:Userssd> python test.py
2、如果是交互式输入状态(>>>←有三个这种折就是交互式状态),需要输入:>>> exit()
就会变回命令行状态。
3、如果文件路径是:D: est.py ,那么在命令行状态下输入:
C:Userssd> python D: est.py
4、还可以用“cd 文件夹名字”进入新的当年文件夹。
B. python 怎么调用命令实现
在Python/wxPython环境下,执行外部命令或者说在Python程序中启动另一个程序的方法
1、os.system(command)
os.system()函数用来运行shell命令。此命令可以方便的调用或执行其他脚本和命令
#打开指定的文件 >>>os.system('notepad *.txt')
2、wx.Execute(command, syn=wx.EXEC_ASYNC, callback=None)
若置syn为wx.EXEC_ASYNC则wx.Excute函数立即返回,若syn=wx.EXEC_SYNC则等待调用的程序结束后再返回。
callback是一个wx.Process变量,如果callback不为None且syn=wx.EXEC_ASYNC,则程序结束后将调用wx.Process.OnTerminate()函数。
os.system()和wx.Execute()都利用系统的shell,执行时会出现shell窗口。如在Windows下会弹出控制台窗口,不美观。下面的两种方法则没有这个缺点。
3、import subprocess
subprocess.Popen(args, bufsize=0, executable=None, stdin=None,
stdout=None, stderr=None, preexec_fn=None, close_fds=False, shell=False,
cwd=None, env=None, universal_newlines=False, startupinfo=None,
creationflags=0)
subprocess.call ([cmd, arg1, arg2],shell=True)
C. python中可以直接用类调用方法吗
这里先肯定的回答一下:可以
python里方法在类中是作为类的属性的,在解释之前,这边先给个例子
>>>classPizza(object):
...radius=42
...def__init__(self,size=10):
...self.size=size
...defget_size(self):
...returnself.size
...@staticmethod
...defmix_ingredients(x,y):
...returnx+y
...defcook(self):
...returnself.mix_ingredients(self.cheese,self.vegetables)
...@classmethod
...defget_radius(cls):
...returncls.radius
>>>Pizza.get_size
<unboundmethodPizza.get_size>
>>>Pizza.get_size()
Traceback(mostrecentcalllast):
File"<stdin>",line1,in<mole>
TypeError:unboundmethodget_size()(gotnothinginstead)
>>>Pizza.get_size(Pizza(42))
42
>>>Pizza(42).get_size
<boundmethodPizza.get_sizeof<__main__.Pizzaobjectat0x7f3138827910>>
>>>Pizza(42).get_size()
42
>>>m=Pizza(42).get_size
>>>m()
42
>>>m=Pizza(42).get_size
>>>m.__self__
<__main__.Pizzaobjectat0x7f3138827910>
>>>m==m.__self__.get_size
True
>>>Pizza().cookisPizza().cook
False
>>>Pizza().mix_ingredientsisPizza.mix_ingredients
True
>>>Pizza().mix_ingredientsisPizza().mix_ingredients
True
>>>Pizza.get_radius
<boundmethodtype.get_radiusof<class'__main__.Pizza'>>
>>>Pizza().get_radius
<boundmethodtype.get_radiusof<class'__main__.Pizza'>>
>>>Pizza.get_radiusisPizza().get_radius
True
>>>Pizza.get_radius()
42
在上面的例子中可以看出python中类有三种方法,分别是类方法,静态方法,实例方法。而能让类只接调用的只有类方法,或通过一些小技巧,类也可以调用实例方法如上面例子中的调用
>>>Pizza.get_size(Pizza(42))
42
这边顺便说明下这三中方法的区别
1类方法的特点是类方法不属于任何该类的对象,只属于类本身
2类的静态方法类似于全局函数,因为静态方法既没有实例方法的self参数也没有类方法的cls参数,谁都可以调用
3.实例方法只属于实例,是实例化的对象才能调用
D. python 如何调用类的方法
以numpy为例,首先创建一个对象:
In[32]:a=numpp.arange(10)
然后,a就拥有了类的方法,例如求和:
In[33]:a.sum()
Out[33]:45
也可以使用类的方法,将其应用到类的对象上,例如:
In[34]:numpp.sum(a)
Out[34]:45
E. python中怎么调用另一个程序
python中怎么调用另一个程序?
1、自身函数调用:
自身函数的调用时相当方便的,在定义好了函数以后直接按定义的格式调用即可,出现的错误为参数数量不匹配,如:TypeError: func() missing 1 required positional argument: 's',意思为func()函数有一个形式参时但是没有传入相对应的实参值。
2、通过包或模块调用:
通过包或模块调用相对自身函数调用比较复杂,需要提前导入包或模块,常用的方法为import 或者from import,导入成功的前提是对应的包或模块在python路径之下,可以通过sys.path(sys为系统内置模块可以直接使用import sys导入)来查看python路径。以导入第三方包文件requests为例。
3、通过类方法调用:
通过类方法的调用需要在调用之前,实例化一个类对象,通过这个类对象来调用类方法,
注意第三个方法为私有方法,不允许类外部访问。
F. python执行报错
用python自带的idle试试。pycharm容易抽风出毛病。
代码没问题的。
G. python中怎么调用自己的方法
C/C++对Python的调用层次可以分为三个层次, (1) 高层次的调用, (2)纯Python调用, (3) Python方法的扩展(也就使向Python输出调用函数). 这里我主要讨论(1)和(2)两种方法.
1 高层次的调用
这是最简单的一种在C/C++中调用Python的方法. 它直接的调用Python提供的C调用接口函数, 这些函数主要有: PyRun_SimpleString(), PyRun_SimpleStringFlags(), PyRun_SimpleFile(), PyRun_SimpleFileEx()和PyRun_SimpleFileExFlags()几个. 函数的具体用法参考Python的文档.
这里举个例子来说明这种层次的用法:
由这个例子可见, 在C/C++中调用Python的内容非常简单, 只要构造一个简单的Python调用字符串.这里要注意的就是, Python调用串语句之间要用'/n'来分开, 且语句之间不能有空格, 如上面的Python字符串不能写成: "import sys/n print sys.path" , 否则要出错的.
// c/c++ 中 Python 调用必须的头文件
#include <Python.h>
//
int main(int argc, char* argv[])
{
// 初始化Python解析环境
Py_Initialize();
// 构造Python执行脚本
char szPyScript[128];
sprintf(szPyScript, "import sys/nprint sys.path");
if(PyRun_SimpleString(szPyScript) != 0)
{
sprintf(stderr, "execute /'%s/'failed!", szPyScript);
return -1;
}
// 清除Python解析环境
Py_Finalize();
}
//
//
以上的例子也表明了在C/C++中调用Python的基本结构, 就是
(1) 先初始化Python环境然: Py_Initialize()
(2) 具体对Python的操作
(3) 清除Python环境
更复杂的一个使用高层调用的例子, 这个例子用PyRun_SimpleFile的例子.
这里值得注意是, 在Window中:
(1) 链接debug版本的时候会自动链接PythonXX(_d).lib库, PythonXX_d安装时是没有安装的, 所以要显示的指定链接PythonXX.lib库, 不知道VC6.0为什么还会去找PythonXX_d.lib, 在vs7.0不会.
(2) 编译时要以 /MD(多线程DLL) 选项编译(不论时debug版本还时release版本都一样).
以上我在VC7.0中可以正确的运行, 在VC6.0这样还不行, 可能和我使用的版本有关系(我用的版本是:Python24.lib). 有知道的请赐教!!
// c/c++ 中 Python 调用必须的头文件
#include <Python.h>
//
int main(int argc, char* argv[])
{
// 初始化Python解析环境
Py_Initialize();
//
char szFile[] = "PyFile.py";
//sprintf(szPathFile, "%s//%s", szPath, szFile);
FILE* fp = fopen(szFile, "r");
if(PyRun_SimpleFile(fp, szFile) != 0)
{
fclose(fp);
sprintf(stderr, "PyRun_SimpleFile(%s) failed!", saFile);
return -1;
}
fclose(fp);
// 清除Python解析环境
Py_Finalize();
}
2 纯Python调用
H. 如何调用另一个python文件中的代码
Python
模块
模块让你能够有逻辑地组织你的Python代码段。
把相关的代码分配到一个
模块里能让你的代码更好用,更易懂。
模块也是Python对象,具有随机的名字属性用来绑定或引用。
简单地说,模块就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。
例子
一个叫做aname的模块里的Python代码一般都能在一个叫aname.py的文件中找到。下例是个简单的模块support.py。
def
print_func(
par
):
print
"Hello
:
",
par
return
import
语句
想使用Python源文件,只需在另一个源文件里执行import语句,语法如下:
import
mole1[,
mole2[,...
moleN]
当解释器遇到import语句,如果模块在当前的搜索路径就会被导入。
搜索路径是一个解释器会先进行搜索的所有目录的列表。如想要导入模块support.py,需要把命令放在脚本的顶端:
#!/usr/bin/python
#
-*-
coding:
UTF-8
-*-
#
导入模块
import
support
#
现在可以调用模块里包含的函数了
support.print_func("Zara")
I. python 调用类问题
由于在其他地方没引用,可以判断没什么用处。
有可能是为了测试一下类初始化是否会抛异常,当然更大可能是程序没完善。从命名上就可以看出不是啥严肃的项目。
J. 求助一下,python如何调用另一个py文件
这不就相当于引用自定义的模块吗,使用import导入
例如A.py
def draw(p){
....
}
在B.py中引用draw,假设A,B文件同目录
from A import draw
draw(param)