问题列表 - 第1312页

Python模块依赖

好的我有两个模块,每个模块都包含一个类,问题是它们的类互相引用.

让我们说例如我有一个房间模块和一个包含CRoom和CPerson的人员模块.

CRoom类包含有关房间的信息,以及房间中每个人的CPerson列表.

然而,CPerson类有时需要将CRoom类用于它的房间,例如找到门,或者看看房间里还有谁.

问题是两个模块互相导入我只是得到一个导入错误,其中第二次导入:(

在c ++中,我可以通过仅包含头来解决这个问题,因为在这两种情况下类都只有指向另一个类的指针,前向声明就足以满足标题,例如:

class CPerson;//forward declare
class CRoom
{
    std::set<CPerson*> People;
    ...
Run Code Online (Sandbox Code Playgroud)

反正有没有在python中执行此操作,除了将两个类放在同一个模块或类似的东西?

编辑:添加了使用上面的类显示问题的python示例

错误:

回溯(最近一次调用最后一次):
文件"C:\ Projects\python\test\main.py",第1行,
从房间导入CRoom
文件"C:\ Projects\python\test\room.py",第1行,
来自人员导入CPerson
文件"C:\ Projects\python\test\person.py",第1行,
从房间导入 CRoom
ImportError:无法导入名称
CRoom room.py

from person import CPerson

class CRoom:
    def __init__(Self):
        Self.People = {}
        Self.NextId = 0

    def AddPerson(Self, FirstName, SecondName, Gender):
        Id = Self.NextId
        Self.NextId += 1#

        Person = CPerson(FirstName,SecondName,Gender,Id)
        Self.People[Id] = Person
        return Person

    def FindDoorAndLeave(Self, PersonId):
        del Self.People[PeopleId]
Run Code Online (Sandbox Code Playgroud)

person.py

from room import CRoom

class CPerson:
    def __init__(Self, …
Run Code Online (Sandbox Code Playgroud)

python module circular-dependency

17
推荐指数
2
解决办法
1万
查看次数

如何在PHP中安装MySQL模块?

我已经更新了php.ini并移动了php_mysql.dll,步骤6和8中所述.

我收到这个错误......

Fatal error: Call to undefined function mysql_connect() in C:\inetpub...

MySQL没有出现在我的phpinfo中; 报告.


我已经更新了c:\ Windows\php.ini文件

; Directory in which the loadable extensions (modules) reside.  
extension_dir = "./"

; Directory in which the loadable extensions (modules) reside.  
extension_dir = ".;c:\Windows\System32"

结果:没有变化.


我因此改变了extension_dir 的php.ini值:

extension_dir = "C:\Windows\System32"

结果:phpinfo更多; 报告,但MySQL仍然无法正常工作.


我将文件libmysql.dll从文件夹C:\ php复制到文件夹C:\ Windows\System32C:\ Windows

结果:没有变化.


我停下来重新启动了IIS.

结果:新的,不同的错误!

Warning: mysql_connect() [function.mysql-connect]: …

php mysql windows

2
推荐指数
1
解决办法
1万
查看次数

DirectSound是Windows的最佳音频抽象层吗?

DirectSound是Windows的最佳音频抽象层吗?将我的应用程序从非常糟糕的声音实现(针对特定芯片组构建)切换到abstration层.

应用程序是本机Winform,.net 3.5.DirectX/DirectSound是可能的选择,但有点担心开销.还有其他选择吗?或者甚至想到其他任何事情都是愚蠢的?

directx audio directsound

3
推荐指数
1
解决办法
7763
查看次数

IE7在Vista上检测到IE6 ...为什么?

我有两台vista商务机.我在两者上安装了IE 7.在我的第一台机器(Computer1)上,如果我去这个网站(http://www.quirksmode.org/js/detect.html),它说我在Windows上使用"Explorer 6".如果我将Computer2与Vista Business和IE7一起使用,它说我在Windows上使用"Explorer 7".这里是一个屏幕捕获.两台机器上都有相同版本的IE.有人有解决方案吗?

user-agent windows-vista internet-explorer-7 internet-explorer-6

1
推荐指数
1
解决办法
949
查看次数

将Oracle PL/SQL转换为Postgresql PL/pgSQL的工具

是否有一个工具(最好是免费的)将Oracle的PL/SQL存储过程语言转换为Postgresql的PL/pgSQL存储过程语言?

oracle postgresql plsql translation plpgsql

7
推荐指数
3
解决办法
2万
查看次数

单击后退按钮时是否存在跨浏览器onload事件?

对于所有主流浏览器(IE除外),onload由于后退按钮操作,页面加载时不会触发JavaScript 事件 - 它仅在首次加载页面时触发.

有人能指出我解决这个问题的一些示例跨浏览器代码(Firefox,Opera,Safari,IE,...)吗?我很熟悉Firefox的pageshow活动,但不幸的是Opera和Safari都没有实现这一点.

javascript pageload

180
推荐指数
6
解决办法
18万
查看次数

RoR:创建/更新:显示验证错误,同时保留以前的值

我有一个基本模型,我已经指定了一些字段来验证存在.在控制器的创建动作中我做标准:

@obj = SomeObject.new(params[:some_obj])

if @obj.save
  flash[:notice] = "ok"
  redirect...
else
  flash[:error] = @obj.errors.full_messages.collect { |msg| msg + "<br/>" }
  redirect to new form
end
Run Code Online (Sandbox Code Playgroud)

但是,当我重定向到新表单时,错误显示,但字段为空.有没有办法用输入的值重新填充字段,以便可以轻松纠正错误?

ruby ruby-on-rails

2
推荐指数
1
解决办法
1037
查看次数

我如何创建一个重定向到launch.php的mod_rewrite?i =/the/url/that/they/want?

因此,如果用户键入mydomain.com/dashboard,则服务器实际发送的文档为/launch.php?i=/dashboard.

一个警告是,我想留下请求

  • /标志
  • /人
  • /海报
  • / CSS
  • /图标
  • /图片
  • /库
  • /模式

单独,他们应该请求实际的文件夹.

我该如何创建这样的mod_rewrite?

apache url mod-rewrite

0
推荐指数
1
解决办法
95
查看次数

有没有办法只在Tomcat/Wildfly/Glassfish启动时运行方法/类?

我需要删除Tomcat启动时的临时文件,传递到包含临时文件的文件夹位于applicationContext.xml中.

有没有办法只在Tomcat启动时运行方法/类?

java tomcat web-applications startup java-ee

52
推荐指数
2
解决办法
4万
查看次数