我越来越多地使用Python,并且我一直__all__在不同的__init__.py文件中看到变量集.有人可以解释这是做什么的吗?
如何根据相对路径导入Python模块?
例如,如果dirFoo包含Foo.py和dirBar,和dirBar包含Bar.py,我怎么导入Bar.py到Foo.py?
这是一个直观的表示:
dirFoo\
Foo.py
dirBar\
Bar.py
Run Code Online (Sandbox Code Playgroud)
Foo希望包括Bar,但重组文件夹层次结构不是一种选择.
出于某种原因,我无法使用Tkinter或tkinter模块.在python shell中运行以下命令后
import Tkinter
Run Code Online (Sandbox Code Playgroud)
要么
import tkinter
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误
import Tkinter
Run Code Online (Sandbox Code Playgroud)
要么
import tkinter
Run Code Online (Sandbox Code Playgroud)
可能是什么原因以及我们如何解决它?
我正在尝试使用运行Debian的Raspberry Pi上的Python 2.6访问串口.我的脚本命名serial.py尝试导入pySerial:
import serial
ser = serial.Serial('/dev/ttyAMA0', 9600)
ser.write("hello world!")
Run Code Online (Sandbox Code Playgroud)
由于某种原因,它拒绝与此错误建立串行连接:
AttributeError: 'module' object has no attribute 'Serial'
Run Code Online (Sandbox Code Playgroud)
当我尝试在交互式Python解释器中键入相同的代码时,它仍然无法正常工作.
奇怪的是,它曾经在几个小时前工作.
可能是什么问题呢?我试图修复一段时间,再次安装pySerial,重写我的代码,仔细检查串口等.
提前致谢!
我试图找到一个很好的来源,解释为什么global在python(以及一般的编程)中使用被认为是不好的做法.有人可以指点我或解释一下吗?
我正在尝试在Django 1.2中使用local_setting ,但它对我不起作用.目前我只是将local_settings.py添加到我的项目中.
settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'banco1', # Or path to database file if using sqlite3.
'USER': 'root', # Not used with sqlite3.
'PASSWORD': '123', # Not used with sqlite3.
'HOST': 'localhost', # Set to empty string for localhost. Not used with sqlite3.
'PORT': '', # Set to empty string for default. Not used with sqlite3.
}
}
Run Code Online (Sandbox Code Playgroud)
local_settings.py
DATABASES = { …Run Code Online (Sandbox Code Playgroud) 我正在使用PyQt并遇到了这个问题.如果我的import语句是:
from PyQt4.QtCore import *
from PyQt4.QtGui import *
Run Code Online (Sandbox Code Playgroud)
然后pylint给出了数百个"未使用的导入"警告.我很犹豫要把它们关闭,因为可能有其他未使用的导入实际上很有用.另一种选择是这样做:
from PyQt4.QtCore import Qt, QPointF, QRectF
from PyQt4.QtGui import QGraphicsItem, QGraphicsScene, ...
Run Code Online (Sandbox Code Playgroud)
and I end up having 9 classes on the QtGui line. There's a third option, which is:
from PyQt4 import QtCore, QtGui
Run Code Online (Sandbox Code Playgroud)
and then prefix all the classes with QtCore or QtGui whenever I use them.
At this point I'm agnostic as to which one I end up doing in my project, although the last one seems the …
在Python中,究竟是什么import *导入的?它是否__init__.py在包含文件夹中导入?
例如,是否有必要申报from project.model import __init__或from project.model import *足够?
我很难理解numpy的dstack功能实际上在做什么.文档相当稀疏,只是说:
按顺序深度(沿第三轴)堆叠阵列.
采用一系列数组并沿第三轴堆叠它们以形成单个数组.重建数组除以
dsplit.这是将2D阵列(图像)堆叠到单个3D阵列中进行处理的简单方法.
所以要么我真的很愚蠢,这个含义是显而易见的,或者我似乎对"堆叠","按顺序","深度明智"或"沿轴"这两个术语有一些误解.但是,我的印象是我在上下文中理解这些术语,vstack并且hstack很好.
我们来看这个例子:
In [193]: a
Out[193]:
array([[0, 3],
[1, 4],
[2, 5]])
In [194]: b
Out[194]:
array([[ 6, 9],
[ 7, 10],
[ 8, 11]])
In [195]: dstack([a,b])
Out[195]:
array([[[ 0, 6],
[ 3, 9]],
[[ 1, 7],
[ 4, 10]],
[[ 2, 8],
[ 5, 11]]])
Run Code Online (Sandbox Code Playgroud)
首先,a并b没有第三轴,所以我将如何堆叠起来一起" 的第三轴"以开始?第二,假设a并且b是2D图像的表示,为什么我在结果中最终得到三个 2D数组而不是两个"顺序"的2D数组?
我希望能够__init__.py从我的包中的每个文件导入(在)所有函数.
例如在此文件夹结构中.
manage.py
- scripts/
-- __init__.py
-- tests.py
-- deploy.py
Run Code Online (Sandbox Code Playgroud)
我目前正在做以下事情:
from scripts import *
Run Code Online (Sandbox Code Playgroud)
from .tests import *
from .deploy import *
Run Code Online (Sandbox Code Playgroud)
但是,每次我在包中添加另一个文件时,我都要添加一个导入行script/__init__.py,这有点烦人.
python ×10
namespaces ×2
django ×1
numpy ×1
pylint ×1
pyqt ×1
pyqt4 ×1
raspberry-pi ×1
serial-port ×1
settings ×1
side-effects ×1
syntax ×1
tkinter ×1