例:
class Class1:
def __init__(self):
self.x = Class2('Woo!')
class Class2:
def __init__(self, word):
print word
meow = Class1()
Run Code Online (Sandbox Code Playgroud)
如何派生创建self.x实例的类名?换句话说,如果给我实例self.x,我怎么得到名称'Class1'?使用self.x.__class__.__name__显然只会给你Class2名称.这甚至可能吗?谢谢.
我已经阅读了一些关于Python中switch语句的替代方法的文章.主要使用dicts代替很多if和elif.然而,没有人真正回答这个问题:是否有更好的性能或效率?我已经阅读了一些论据,如果和elifs必须检查每个语句并且使用许多ifs和elif变得低效.然而,使用dicts可以解决这个问题,但是你最终必须创建新的模块才能调用,从而取消性能提升.唯一不同的是可读性.
任何人都可以对此发表评论,从长远来看真的有什么不同吗?有没有人经常使用替代品?我要问的唯一原因是因为我最终会得到30-40 elif/if's,将来可能更多.任何输入都表示赞赏.谢谢.
嘿那里,想知道是否有人可以帮助SQL和Python的新手.我以为自己对它有了相当不错的把握,但最近发生了一些奇怪的事情.
以下是从较大部分剪切的以下代码:
try:
self.db.query("SELECT * FROM account WHERE email = '{0}' AND pass = '{1}'".format(self.mail.strip(self.bchars),self.pw.strip(self.bchars)))
except MySQLdb.Error, e:
print "Error %d: %s" % (e.args[0], e.args[1])
exists = self.db.store_result().fetch_row()
print "EXISTS",exists
Run Code Online (Sandbox Code Playgroud)
它用来打印这个:
EXISTS ((2, 'test@test.com', '1234', 1, 0, 2161, '192.168.1.47', 0),)
Run Code Online (Sandbox Code Playgroud)
现在,它打印出来:它用来打印这个:
EXISTS ((2L, 'test@test.com', '1234', 1L, 0L, 2161, '192.168.1.47', 0L),)
Run Code Online (Sandbox Code Playgroud)
我不知道这些L's来自哪里.我检查了SQL数据库,甚至重新加载它以确保.我已经恢复了最后一天的所有代码(所有代码都在运行),但仍无法找到解决方案.我也尝试过搜索,但我甚至不确定这个问题是什么,所以很难搜索.感谢任何人提供的任何帮助或信息.
大家好,这是我最近第一次尝试进入Python的文件和操作系统部分。我正在尝试搜索一个目录然后找到所有子目录。如果该目录没有文件夹,则将所有文件添加到列表中。并通过听写来组织它们。
例如,一棵树可能看起来像这样
即使 subsubdir 中有文件,也应该跳过它,因为它有文件夹。
现在,如果我知道要查找多少个目录,则通常可以使用 os.listdir 和 os.path.isdir 来执行此操作。但是,如果我希望它是动态的,则必须补偿任意数量的文件夹和子文件夹。我尝试过使用 os.walk,它会轻松找到所有文件。我遇到的唯一麻烦是使用包含文件的路径名创建所有字典。我需要按 dict 组织的文件夹名称,直到起始路径。
所以最后,使用上面的示例,字典及其中的文件应该如下所示:
dict['dir1']['subdir3']['subsubdir']['folder1'] = ['file1.jpg', 'file2.jpg']
dict['dir1']['subdir3']['subsubdir']['folder2'] = ['file3.jpg', 'file4.jpg']
Run Code Online (Sandbox Code Playgroud)
如果您对此有任何帮助或组织信息的更好想法,我们将不胜感激。谢谢。
python ×4
class ×1
directory ×1
instance ×1
mysql ×1
os.walk ×1
path ×1
performance ×1
sql ×1
subdirectory ×1