pycharm下调⽤⾃⼰的(python)py⽂件⽬录
1. 同⼀个⽬录下
2. 不同⽬录下
3. 举例说明其它⽅法
4. Pycharm下的调⽤问题
⼀、同⼀个⽬录下
调⽤同⼀个⽬录下的时,可以直接:
1. import XXX.py
2. from ⽂件夹 import XXX.py
只是第⼀种形式会有波浪线提醒,不过不影响运⾏。
波浪线问题消除见第四章
⼆、不同⽬录下
在上⾯基础上,加上层级名称即可
当然也可以通过指定路径的⽅式处理,见第三章
三、举例说明其它⽅法
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"python怎么读文件夹下的文件夹
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 <module>
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 模块名"⽐较适⽤于⽗⽬录调⽤⼦⽬录的情况(当然也可以参照第⼆章的多个嵌套形式);⽽第⼆种⽅法则对所有的情况都适⽤,包括两个模块甚⾄都不在⼀个盘的情况。这⾥需要注意的⼀点是:sys.path添加⽬录时注意是在windows还是在linux下,windows下需要'\\'
否则会出错。(我在这点上⾛了很久的弯路)
四、Pycharm下的调⽤问题
pycharm在同⽬录下import,pycharm会提⽰错误,但是可以运⾏
原因是: pycharm不会将当前⽂件⽬录⾃动加⼊⾃⼰的sourse_path。
解决⽅案:右键make_directory as-->sources path将当前⼯作的⽂件夹加⼊source_path就OK了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。