class AppError(Exception):
pass
class MissingInputError(AppError):
pass
class ValidationError(AppError):
pass
Run Code Online (Sandbox Code Playgroud)
...
def validate(self):
""" Validate Input and save it """
params = self.__params
if 'key' in params:
self.__validateKey(escape(params['key'][0]))
else:
raise MissingInputError
if 'svc' in params:
self.__validateService(escape(params['svc'][0]))
else:
raise MissingInputError
if 'dt' in params:
self.__validateDate(escape(params['dt'][0]))
else:
raise MissingInputError
def __validateMulti(self, m):
""" Validate Multiple Days Request"""
if m not in Input.__validDays:
raise ValidationError
self.__dCast = int(m)
Run Code Online (Sandbox Code Playgroud)
validate()和__validateMulti()是验证和存储传递的输入参数的类的方法.从代码中可以看出,当一些输入参数丢失或某些验证失败时,我会引发一些自定义异常.
我想定义一些特定于我的应用程序的自定义错误代码和错误消息,比如
错误1100:"找不到关键参数.请验证您的输入."
错误1101:"找不到日期参数.请验证您的输入"
...
错误2100:"多天参数无效.接受的值为2,5和7."
并向用户报告.
(PS:这是Python 2.4.3).
巴斯蒂安伦纳德提到这个SO评论,你并不需要总是定义一个新的 …
使用Python构建一个供个人使用的小应用程序,并且我想尝试使用Tkinter进行一些GUI编程.这是我到目前为止创建的GUI:

应用疑虑:
如何确保屏幕截图中的三个LableFrame - A,B和C具有相同的宽度?(或者更确切地说,宽度等于三个中最宽的?例如,在屏幕截图中,A是最宽的,我希望B和C也一样宽 - 直到D行).
(它不需要动态计算 - 如果我在第一次编码时能够确保宽度相同就足够了.它们不需要在运行时更改.)
Tk Grid Geometry Manager疑惑:
当您使用框架时,网格(行,列)是否仅特定于框架的大小,还是基于窗体的大小(根窗口)计算?
如何在网格中确定列的大小?
Python GUI代码:
import Tkinter
if __name__ == '__main__':
form = Tkinter.Tk()
getFld = Tkinter.IntVar()
form.wm_title('File Parser')
stepOne = Tkinter.LabelFrame(form, text=" 1. Enter File Details: ")
stepOne.grid(row=0, columnspan=7, sticky='W', \
padx=5, pady=5, ipadx=5, ipady=5)
helpLf = Tkinter.LabelFrame(form, text=" Quick Help ")
helpLf.grid(row=0, column=9, columnspan=2, rowspan=8, \
sticky='NS', padx=5, pady=5)
helpLbl = Tkinter.Label(helpLf, text="Help will come - ask for it.")
helpLbl.grid(row=0)
stepTwo = …Run Code Online (Sandbox Code Playgroud) Flash文件可以嵌入PDF文档中.有谁知道是否也可以嵌入HTML网页?
添加:
是否有任何等效的会话管理模块,如Perl的CGI :: Session或Apache :: Session?(我知道大多数python web框架都有自己的实现,但我正在寻找一个可以与任何python应用程序一起使用的独立模块.)
first = [(1, text, text, 1, 2, 3),
(1, text, text, 1, 0, 3), ... (6054, text, text, 2, 2, 3)]
second = (1, 2, 3, 4, 5 ... 5412)
Run Code Online (Sandbox Code Playgroud)
有没有更快的方法来做到这一点:
data = [x for x in first if x[0] in second]
Run Code Online (Sandbox Code Playgroud) 如何使用在美国服务器上执行的PERL脚本确定各个国家/地区的当前日期和时间?例如,getDTnow()应确定服务器上的当前日期和时间,并使用它来返回各个国家/地区的日期和时间.
PS:如果只使用内置函数,没有任何外部模块,那将是很好的.
结论:日期数学是[使用脏话这里]复杂,容易出错.IRC上的其他perl专家,小组和网络的其他部分证实了以太一直在建议我 - 使用DateTime.DVK的解决方案也非常适合那些不介意搞乱perl环境的人.(注意:虽然在Windows上,Time :: Piece文档的警告部分说当在Win32上的Threads中设置$ ENV {TZ}时应该小心).