【问题标题】:calling python script from another directory while working in pycharm在 pycharm 中工作时从另一个目录调用 python 脚本
【发布时间】:2019-04-13 19:56:29
【问题描述】:

我有以下文件夹结构

目录 - /srv/local/project/code/toolutil

子目录 -

toolutil/ui

工具/代码

工具工具/数据库

我目前的工作脚本位于 toolutil/code/setup.py 现在我想从位于此文件夹结构 "toolutil/database/work. py" 在我目前的工作脚本中。

我想通过调用位于不同位置的脚本在 pycharm 中构建我的代码。 .....................

pycharm IDE 中的当前工作文件

文件位置 - /srv/local/project/code/toolutil/code/setup.py

#current working script location - /srv/local/project/code/toolutil/code/setup.py'

import os
import 'file i want to import /srv/local/project/code/databasr/work.py' as base

def follow():
    job = os.getenv("ENTITY") 

    # FUNCTION I WANT TO CALL FROM IMPORTED SCRIPT FROM DIFFERENT LOCATION

    struc = base.executeStructure()
    print struc

【问题讨论】:

  • 注意:在 Unix 中(其他操作系统只是不好的做法),使用文件扩展名命名可执行文件是不好的做法:这是因为,如果您更改编写它的语言,那么您必须更改文件名以及调用它的所有其他脚本。
  • 你能告诉我们你尝试了什么吗?
  • 嗨 ctrl-alt-delor 我已经用代码编辑了这个问题,希望你能得到我。

标签: python-2.7 pycharm


【解决方案1】:

所以,我是如何找到解决方案的 我们必须在“0”处插入路径,因此导入的模块将在执行中获得第一优先权

import sys
sys.path.insert('0','/srv/local/project/code/databasr') #path of python script directory
import work as base #name of the python script
def follow():
    job = os.getenv("ENTITY")
    struc = base.executeStructure() #function inside module
    print struc

pycharm 仍然存在一个问题,当我们使用 sys.path.append/insert 导入模块时,在 pycharm 中工作时它不会显示模块功能弹出。不知道是在我的系统中发生的还是全局问题,但是如果我们知道导入模块的功能,那么我们可以顺利工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多