我需要在函数中的每个后续步骤之后执行检查,因此我想将该步骤定义为函数内的函数.
>>> def gs(a,b):
... def ry():
... if a==b:
... return a
...
... ry()
...
... a += 1
... ry()
...
... b*=2
... ry()
...
>>> gs(1,2) # should return 2
>>> gs(1,1) # should return 1
>>> gs(5,3) # should return 6
>>> gs(2,3) # should return 3
Run Code Online (Sandbox Code Playgroud)
那么如何让gs从ry中返回'a'?我想过使用超级,但认为这只适用于课程.
谢谢
有点混乱......我只想要返回一个if = = b.如果a!= b,那么我不希望gs返回任何东西.
编辑:我现在认为装饰者可能是最好的解决方案.
我试图通过编写以下代码来节省一些打字,但似乎我不能这样做:
class lgrAdminObject(admin.ModelAdmin):
fields = ["title","owner"]
list_display = ["title","origin","approved", "sendToFrames"]
class Photos(lgrAdminObject):
fields.extend(["albums"])
Run Code Online (Sandbox Code Playgroud)
为什么不工作?此外,因为他们不是功能,我不能做超级技巧
fields = super(Photos, self).fields
fields.extend(["albums"])
Run Code Online (Sandbox Code Playgroud) Django如何使用基于子域的不同settings.py文件.
如果有不同的设置连接到不同的数据库,是否仍然可以使用这些实用程序("django-admin","python manage.py").
我是第一次使用这个库所以我不确定这是一个错误还是我没有正确地做某事.
我想将文件导出为mp3,加载完美:
wav=AudioSegment.from_wav(Path) #If I execute only this line, there are no errors.
Run Code Online (Sandbox Code Playgroud)
但是当我尝试将我的文件导出到mp3时:
wav.export(r"WavOut.mp3",format="mp3")
Run Code Online (Sandbox Code Playgroud)
它会引发以下错误:
WindowsError:[错误2]系统找不到指定的文件
完整的错误报告:http://pastebin.com/3CpZBkEK
我相信我使用的语法正确.它创建了mp3输出文件,但绝对是空的,并且输入路径是正确的,因为:
os.startfile(Path) #Will work
Run Code Online (Sandbox Code Playgroud)
另外,我在windows路径中注册了ffmpeg:
;c:\ffmpeg\bin #It is currently callable from any cmd prompt in windows.
Run Code Online (Sandbox Code Playgroud)
什么可以失败?谢谢!
经过更多测试,我发现了它的编码问题.如果我将输出设置为"wav"就可以了.但我真的不知道我该怎样安装一个MP3编码器为它与pydub工作,所以我改变了问题要问的是,因为它的真正的问题.安装ffmpeg所以我不知道还能做什么:
嘿,现在我正在使用jQuery并且我有一些全局变量来保存一些预加载的ajax东西(预加载以使页面变得漂亮和快速):
$.get("content.py?pageName=viewer", function(data)
{viewer = data;});
$.get("content.py?pageName=artists", function(data)
{artists = data;});
$.get("content.py?pageName=instores", function(data)
{instores = data;});
$.get("content.py?pageName=specs", function(data)
{specs = data;});
$.get("content.py?pageName=about", function(data)
{about = data;});
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我们严重违反DRY原则,但是......我真的没有办法解决这个问题......任何想法?
也许是阵列?
我想知道是否有一个简单的方法使用javascript(包括我们在网站上使用的JQuery)将描述性文本放在文本输入中,直到用户点击它来输入他们自己的文本.
例如,我想将"搜索"这个词放在文本输入中(最好是比实际输入颜色浅),直到用户点击输入,当它消失并允许他们输入搜索词时.
我不想让"搜索"这个词成为文本输入的值,因为用户可以搜索单词搜索有点重要.
我在考虑绝对定位一个<p>元素,在输入上单词搜索,并在单击它(或输入)时隐藏它.
你怎么看?这可怕的被误导了吗?
我正在编写一个django应用程序,用于跟踪允许哪些电子邮件地址将内容发布到用户的帐户.用户可以根据需要将地址列入白名单和黑名单.
任何未指定的地址都可以按消息处理,也可以默认为白名单或黑名单(再次由用户指定).
以下是我写的django模型......你认为这是一个很好的方法吗?或者我应该为每个用户的个人资料模型添加白名单和黑名单字段?
class knownEmail(models.Model):
# The user who set this address' permission, NOT
# the user who the address belongs to...
relatedUser = models.ManyToManyField(User)
email = models.EmailField()
class whiteList(knownEmail):
pass
class blackList(knownEmail):
pass
Run Code Online (Sandbox Code Playgroud)
然后我可以这样做:
def checkPermission(user, emailAddress):
"Check if 'emailAddress' is allowed to post content to 'user's profile"
if whiteList.objects.filter(relatedUser=user, email=emailAddress):
return True
elif blackList.objects.filter(relatedUser=user, email=emailAddress):
return False
else:
return None
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?