小编dbr*_*dbr的帖子

递增尾随数字时字符串操作怪异

我得到了这段代码:

myString = 'blabla123_01_version6688_01_01Long_stringWithNumbers'
versionSplit = re.findall(r'-?\d+|[a-zA-Z!@#$%^&*()_+.,<>{}]+|\W+?', myString)

for i in reversed(versionSplit):
    id = versionSplit.index(i)
    if i.isdigit():
        digit = '%0'+str(len(i))+'d'
        i = int(i) + 1
        i = digit % i
        versionSplit[id]=str(i)
        break

final = ''
myString = final.join(versionSplit)
print myString
Run Code Online (Sandbox Code Playgroud)

这假设只增加给定字符串的最后一位数字.但是如果运行该代码,您将看到如果字符串中的数字与最后一个数字相同,那么如果您继续运行该脚本,它将一个接一个地增加它.任何人都可以帮我找出原因吗?

预先感谢您的任何帮助

python regex string

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

阻止在Python中访问"private"属性

一个类在多大程度上可以"保护"其中一个属性来自外部访问?

例如,具有常规_secret属性的类,可以轻松访问原始值:

class Paranoid(object):
    def __init__(self):
        self._secret = 0

    def set(self, val):
        self._secret = val * 10

    def get(self):
        return self._secret / 10

p = Paranoid()
p.set(123)
print p.get() # 123
print p._secret # 1230, should be inaccessible
Run Code Online (Sandbox Code Playgroud)

如何使访问_secret变得更加困难?

对此没有实际的应用,我只是好奇是否有新的方法使其更难访问(在Python的上下文中 - 所以忽略了你可以把调试器附加到Python进程并检查内存的事实)

python encapsulation private-members

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

何时分离文件以节省带宽

我正在为我的网站做一些优化,并试图弄清楚一些内联代码有多大,然后才能证明拥有它自己的文件而不是内联编写.

我对如何衡量它的猜测是,代码量(在这种情况下为CSS或JS)需要大于发送和接收的HTTP数据包以获得304响应.

请忽略这样一个事实,即将样式和javascript保留在HTML页面之外,只考虑浏览器性能.:)

html javascript css performance

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

OS X:确定给定路径的"废纸篓"位置

只需将文件移动到~/.Trash/不起作用,就像外部驱动器上的文件操作系统一样,它会将文件移动到主系统驱动器中.

此外,还有其他条件,如外部驱动器上的文件被移动到/Volumes/.Trash/501/(或当前用户的ID是什么)

给定文件或文件夹路径,确定垃圾文件夹的正确方法是什么?我想这种语言非常无关紧要,但我打算使用Python

python filesystems macos

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

在Cocoa中实现"scrubby sliders"?

我将如何实现像"滑动滑块"一样的东西,比如Photoshop和其他一些图像处理应用程序?

它们稍微难以描述..基本上你有一个常规的数字输入框,但你可以点击并按住鼠标按钮,它的功能就像一个滑块(直到你发布).如果您在框中单击,您可以像往常一样选择文本,编辑/粘贴/等.

Photoshop中的文档描述它,和我一起把一个简单的例子视频(在滑块的一个例子)

另一个类似的实现是Final Cut Pro中的微动轮,其功能类似,没有数字读数.

我似乎无法找到实现这些的任何提及,尽管可能有替代名称.它适用于OS X 10.5 Cocoa应用程序.

它适用于颜色分级应用程序,用户可能需要在同一控件上进行微调(例如0.001),以进行大幅调整(例如,-100 + 100).常规滑块在该值范围内不够准确.

将值复制并粘贴到框中将是擦除值的第二个问题,Photoshop/Shake设置非常好.控件的不明显性也很低,因为它不是"常规桌面应用程序"

user-interface cocoa

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

许多控制器的一个视图(首页)(子视图)

注意:不能使用Javascript或iframe.事实上,我不能相信客户端浏览器可以做任何事情,除了超基础.

我正在重建一个传统的PHP4应用程序作为MVC应用程序,我的大多数研究目前都集中在Pylon的框架上.

我遇到的第一个奇怪的问题之一是我过去通过使用iframe或更好的javascript来解决的问题是显示动态的"小部件"集合,就像典型控制器的索引视图的摘要视图一样.

可视化我的问题的最佳方式是查看Google的个性化主页.他们用Javascript解决了这个问题,但是对于我的场景,javascript和基本XHTML之上的任何东西都是不可能的.

我开始研究的一个想法是让我的Frontpage控制器为当前激活的小部件轮询数据库或其他服务,然后获取元组/ dicts列表,动态实例化每个控制器并构建渲染子视图的列表/字典并传递那个到首页视图,让它解决问题.

所以使用peusudo代码:

Get request goes to WSGI
WSGI calls pylons
Pylons routes to Frontpage.index()
Frontpage.index() 
   myViews = list()
   for WidgetController in ActiveWidegets():
        myViews.append(subRender(WidgetController, widgetView))

c.subviews = myViews
render(frontpage.mako)
Run Code Online (Sandbox Code Playgroud)

关于subRender的奇怪的一点

  • 通过动态导入控制器__import__(当前硬编码到项目的命名空间:()
  • 有可能非常昂贵(大多数小部件调用可以缓存,但一个是用户面板)

我觉得必须有一个更好的方法或者可能已经在WSGI中实现的机制或更好的Pylons来实现这一点,但到目前为止,我发现最接近的是这种实用方法:http: //www.pylonshq.com/ docs/en/0.9.7/modules/controllers_util/#pylons.controllers.util.forward但是N为了获得集合视图,在pylons之上构建pylons实例似乎有点疯狂.

python model-view-controller pylons cherrypy

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

从GAE SDK控制台转储内存缓存密钥?

在"Memcache Viewer"中,有没有办法转储现有密钥列表?当然,仅用于调试,不用于任何脚本!

我问,因为GAE SDK似乎并没有使用"真正的"memcache服务器,所以我猜它是用Python模拟的(为简单起见,因为它只是一个开发服务器)..这意味着有一个字典某处有键/值..

python google-app-engine memcached

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

为什么JavaScript不接受我的RegExp构造?

我正在使用RegExp来验证ASP.NET网页上的一些用户输入.这是为了强制构造一个密码(即8到20个长,至少一个大写字符,至少一个小写字符,至少一个数字,至少一个字符#@!$%,没有用字母L或O(大写或小写)或数字0和1.此RegExp在我的测试程序(Expresso)和我的C#代码中工作正常.

这是它的样子:

(?-i)^(?=.{8,20})(?=.*[2-9])(?=.*[a-hj-km-np-z])(?=.*[A-HJ-KM-NP-Z])
(?=.*[#@!$%])[2-9a-hj-km-np-zA-HJ-KM-NP-Z#@!$%]*$
Run Code Online (Sandbox Code Playgroud)

(为格式添加换行符)

但是,当我运行代码时,它存在于IE6或IE7中(没有尝试过其他浏览器,因为这是一个内部应用程序而且我们是Microsoft商店),我收到运行时错误,说"正则表达式中的语法错误".就是这样 - 除了行号之外,错误消息中没有更多信息.

JavaScript不喜欢这个是什么?

javascript regex

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

Server.Transfer和System.Threading.ThreadAbortException

请参阅http://support.microsoft.com/kb/312629/EN-US/

我也在我的应用程序中使用reponse.direct,但我没有得到例外.知识库文章建议的解决方法(Server.Execute)对我不起作用.我收到很多来自AJAX工具包的目标页面上的JavaScript例外的,如果我使用使用Server.Execute,和我没有挖成的原因.

我的问题 - 你认为反对将这个例外作为一个"已知限制"并继续前进的观点是什么?

我在这一个非常特殊的情况下,使用Server.Transfer的原因是,我想掩盖了实际执行网页的(真正)的目标URL.它运行得很好,除了这个例外(用户从未看到).

multithreading exception server.transfer

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

IPostBackEventHandler不会在异步回发时触发RaisePostBackEvent

我设计了一个自定义用户控件,基本上是一个实现IPostBackEventHandler界面的按钮,显然定义了RaisePostBackEvent(string eventArgument)方法,在那里我做了一些处理,基本上我触发了其他事件.

默认情况下,单击时,我的控件将执行__doPostBack其客户端ID以进行整页刷新,当然还会触发RaisePostBackEvent.

但是,我希望能够使用控件刷新更新面板,因此从客户端我使用__doPostBack带有更新面板ID和另一个参数的方法.

问题是RaisePostBackEvent没有触发.我知道我可以查看Page.Request.Params["__EVENTARGUMENT"]并做任何我需要的事情,但我真的想要一些简单而优雅的东西,IPostBackEventHandler以便拥有我控制下的所有逻辑.

长话短说,RaisePostBackEvent如果我有异步回发,我怎么能触发?或者是否有另一个具有类似功能的界面?

asp.net postback asynchronous

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