python怎么调用另一个py文件并传递参数? |
您所在的位置:网站首页 › python引用py › python怎么调用另一个py文件并传递参数? |
1、同一个目录下 调用同一个目录下的时,可以直接: import XXX.py from 文件夹 import XXX.py只是第一种形式会有波浪线提醒,不过不影响运行。 波浪线问题消除见第4章 2、不同目录下在上面基础上,加上层级名称即可 当然也可以通过指定路径的方式处理,见第3章 3、举例说明其它方法A |----- __init__.py |----- a.py |---------B |--------- __init__.py |---------b.py |---------C |--------- __init__.py |--------c.py如图所示结构树,B,C同属于A的子目录,但是B,C之间是平行的。 b.py,c.py代码分别如下: b.py: def b_hello(): print "B_HELLO"c.py: def c_hello(): print "C_HELLO"3.1 如果A中a.py要调用B中或者C中py则可以如下方式调用(以B为例) from B import b b.b_hello()运行结果:B_HELLO 3.2 如果是B中或者C中py调用B中或C中这个时候如果我们依旧用如上所说调用,则会报错(这里是b.py调用c.py) >>> Traceback (most recent call last): File "E:\testnow\A\B\b.py", line 1, in from C import c ImportError: No module named C所以,这种方法不行,那如何做呢,如下 import sys sys.path.append('E:\\testnow\\A\\C') import c def b_hello(): print "B_HELLO" c.c_hello()用这种方法,输出结果是:C_HELLO 也即刚才上面的“from 文件夹 import 模块名”比较适用于父目录调用子目录的情况(当然也可以参照第2章的多个嵌套形式);而第二种方法则对所有的情况都适用,包括两个模块甚至都不在一个盘的情况。这里需要注意的一点是:sys.path添加目录时注意是在windows还是在linux下,windows下需要‘\\’否则会出错。(之前碰到的坑) 4、Pycharm下的调用问题pycharm在同目录下import,pycharm会提示warning,但是可以运行 原因是: pycharm不会将当前文件目录自动加入自己的sourse_path。 解决方案:右键make_directory as-->sources path将当前工作的文件夹加入source_path就OK了 注意1、有时候使用pycharm不能调用,可以重启客户端尝试,亲测有效过。 相关链接【py-00】python编程从入门到实践 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |