是否可以在不更改其他文件中的<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="Status: EN-ROUTE"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/lblP2Status"
android:gravity="center" />
<TextView
android:text="00:00:00"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/lblP2Timer"
android:gravity="center"
android:layout_marginBottom="19.0dp" />
<Button
android:text="Update"
android:layout_width="match_parent"
android:layout_height="64.5dp"
android:id="@+id/cmdP2Update"
android:layout_marginBottom="10.5dp"
android:background="@android:color/holo_green_dark" />
<Button
android:text="ARRIVED"
android:layout_width="match_parent"
android:layout_height="64.5dp"
android:id="@+id/cmdP2Arrived" />
<Button
android:text="SELF DEPLOYED"
android:layout_width="match_parent"
android:layout_height="64.5dp"
android:id="@+id/cmdP2SelfDeployed"
android:layout_marginBottom="10.5dp" />
<Button
android:text="CALL ME"
android:layout_width="match_parent"
android:layout_height="64.5dp"
android:id="@+id/cmdP2CallMe"
android:layout_marginTop="0.0dp" />
<TextView
android:text="Are you sure?"
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/lblP2Confirm"
android:gravity="center"
android:layout_marginBottom="16.0dp"
android:visibility="gone" />
<LinearLayout
android:orientation="horizontal"
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/linearLayout1">
<Button
android:text="OK"
android:layout_width="190dp"
android:layout_height="wrap_content"
android:id="@+id/cmdOk"
android:visibility="gone" />
<Button
android:text="Cancel"
android:layout_width="190dp"
android:layout_height="wrap_content"
android:id="@+id/cmdCancel"
android:visibility="gone" />
</LinearLayout>
</LinearLayout>
语句的情况下将Python模块更改为包?
示例:项目中的其他文件使用import
,import x
为x
,但我想将其移至x.py
之类,而不更改导入语句其他文件到./x/x.py
。
即使我在from x import x
中使用__all__ = ["x"]
,也需要__init__.py
才能正常工作。
有没有办法或者我必须更新其他文件中的from x import x
语句?
答案 0 :(得分:1)
执行此操作的一种方法是移动x.py
- 但随后创建一个新的x.py
(或在此情况下,__init__.py
位于x
目录中)曾经暴露的一切。
例如,如果x.py
包含def example
,您可以使用from x import example
导入此内容。这基本上是真正定义的代理。
如果我没有足够清楚地解释这一点,请告诉我。
答案 1 :(得分:1)
可能是在x/__init__.py
中使用通配符导入的罕见原因之一:
from .x import *
答案 2 :(得分:1)
这个问题最干净的解决方案是拥有一个合适的命名空间包,因此你的导入不会是隐式的。
现在,那说,实现你所要求的另一种选择是修改PYTHONPATH以便正确解决导入,为此基本上没有办法:
sys.path
或os.environ['PYTHONPATH']
进行硬编码来更改PYTHONPATH 但我强烈反对这些,只是因为你想要修改PYTHONPATH,如果你想导入不可安装的pypi包或指向外部包(在这种情况下你已经满了)控制你的包)这是不可安装的(setup.py)并由当前的PYTHONPATH解决。
虽然我最好的建议,请按照https://www.python.org/dev/peps/pep-0008/#imports