iOS如何在当前工程中导入另一个工程文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS如何在当前工程中导入另一个工程文件相关的知识,希望对你有一定的参考价值。
参考技术A 在打包.a静态库时,开发完成的功能需要在demo中运行一遍,检测正确性。先打包SDK然后导入到demo中然后发现错误,再重新的修改、打包、导入,这无疑是很麻烦的一件事儿。所以,想到将.a的静态库,添加到demo的工程中,大大缩减开发的复杂度。然而在网上搜索的导入工程教程,十分的麻烦。我这边做了一个简单的导入工程。假如有什么问题,欢迎大家随时来研究讨论。
1. 首先打开.a静态库所在的文件位置
2.打开demo工程(直接将图1的工程拖入到demo中)
3.现在需要最后,将.a的库,引导到工程中
4. 最后直接引用头文件即可
如何在 Django Settings.py 中导入另一个 Python 3 文件?
【中文标题】如何在 Django Settings.py 中导入另一个 Python 3 文件?【英文标题】:How to Import Another Python 3 File in Django Settings.py? 【发布时间】:2018-02-28 23:08:00 【问题描述】:我正在使用 Python 3。 我在同一个目录中有两个 Python 文件:first.py 和 second.py。 在 first.py 的开头,我使用:
from second import *
但是,它返回以下错误消息:
ModuleNotFoundError: No module named 'second'
我应该如何在 first.py 中导入它?
更新:为了阐明我的具体用例,我试图在 Django 中拆分我的 settings.py。我有一个主要的 settings.py 文件和另一个只包含机密信息的文件。我关注了this following documentation,它在 settings.py 中使用了以下行:
from settings_local import *
请注意,settings_local.py 位于同一目录中。但是,它返回以下错误消息:
ModuleNotFoundError: No module named 'settings_local'
我知道文档说“下面列出的一些示例需要修改以与 Django 1.4 及更高版本兼容。”但我不知道如何在 Python 3 中使用它。
【问题讨论】:
您从哪里运行脚本?您应该能够从运行脚本的文件夹中包含的 Python 文件导入。如果您从与脚本相同的文件夹中运行脚本,则不会出现此错误。 基本上,我试图在 Django 中拆分我的 settings.py。我有一个主要的 settings.py 文件和另一个只包含机密信息的文件。我遵循了以下文档,但它不起作用:code.djangoproject.com/wiki/… 【参考方案1】:我刚刚找到了解决方案:
from .settings_local import *
代替:
from settings_local import *
我在this thread找到了解决方案。
【讨论】:
【参考方案2】:可以使用以下代码sn-p:
from .settings_local import *
这是相对导入。 More Info here 和 here
【讨论】:
【参考方案3】:您可以通过这种方式将文件添加到 Python 中
import sys
sys.path.insert(0, '/path/to/application/app/folder')
import file
【讨论】:
感谢您的回答。但是当文件在同一个路径时,为什么要给它一个绝对路径呢? 绝对路径更清晰:)【参考方案4】:you can create __init__.py in current directory.
那么你可以使用:
from second import *
init.py 文件是 Python 将目录视为包含包所必需的;这样做是为了防止具有通用名称(例如字符串)的目录无意中隐藏模块搜索路径中稍后出现的有效模块。在最简单的情况下,init.py 可以只是一个空文件,但它也可以执行包的初始化代码或设置 __all__ 变量,稍后介绍。
【讨论】:
【参考方案5】:您应该能够自动将文件所在的目录添加到PATH
,然后导入另一个文件,这样:
import sys
import os
sys.path.insert(0, os.path.dirname(os.path.realpath(__file__)))
import second
【讨论】:
以上是关于iOS如何在当前工程中导入另一个工程文件的主要内容,如果未能解决你的问题,请参考以下文章