当我试图将一个stringparsing为一个整数时,我不得不写下面的函数来优雅地失败。 我会想象Python有内置的东西来做到这一点,但我找不到它。 如果没有,是否有更多的Pythonic这样做,不需要单独的function? def try_parse_int(s, base=10, val=None): try: return int(s, base) except ValueError: return val 我最终使用的解决scheme是@ sharjeel的答案的修改。 以下是function相同,但我认为,更具可读性。 def ignore_exception(exception=Exception, default_val=None): """Returns a decorator that ignores an exception raised by the function it decorates. Using it as a decorator: @ignore_exception(ValueError) def my_function(): pass Using it as a function wrapper: int_try_parse = ignore_exception(ValueError)(int) """ def decorator(function): […]
我想安装lxml在我的Mac上安装scrapy(v 10.9.4) ╭─ishaantaylor@Ishaans-MacBook-Pro.local ~ ╰─➤ pip install lxml Downloading/unpacking lxml Downloading lxml-3.4.0.tar.gz (3.5MB): 3.5MB downloaded Running setup.py (path:/private/var/folders/8l/t7tcq67d34v7qq_4hp3s1dm80000gn/T/pip_build_ishaantaylor/lxml/setup.py) egg_info for package lxml /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py:267: UserWarning: Unknown distribution option: 'bugtrack_url' warnings.warn(msg) Building lxml version 3.4.0. Building without Cython. Using build configuration of libxslt 1.1.28 warning: no previously-included files found matching '*.py' Installing collected packages: lxml Running setup.py […]
当我给ls -l /etc/fonts/conf.d/70-yes-bitmaps.conf lrwxrwxrwx <snip> /etc/fonts/conf.d/70-yes-bitmaps.conf -> ../conf.avail/70-yes-bitmaps.conf 所以对于一个符号链接或软链接,如何在python中find目标文件的完整path(绝对path) 如果我使用 os.readlink('/etc/fonts/conf.d/70-yes-bitmaps.conf') 它输出 ../conf.avail/70-yes-bitmaps.conf 但我需要的绝对path不是相对path,所以我希望的输出必须是, /etc/fonts/conf.avail/70-yes-bitmaps.conf 如何将符号链接或软链接文件的父目录的实际完整pathreplace为..
我有一个由基本的math函数(abs,cosh,sinh,exp,…)组合定义的函数。 我想知道是否使用(例如, numpy.abs()而不是abs()什么numpy.abs() ?
我正在研究Alex Marteli的Python in the Nutshell ,本书指出任何具有next()方法的对象都是(或者至less可以用作) 迭代器 。 它也表明大多数迭代器是通过对称为iter的方法的隐式或显式调用来构build的。 在读完这本书之后,我觉得有尝试的冲动。 我启动了一个Python 2.7.3解释器,并做到了这一点: >>> x = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> for number in range(0, 10): … print x.next() 但结果是这样的: Traceback (most recent call last): File "<stdin>", line 2, in <module> AttributeError: 'list' object has no attribute 'next' 在困惑中,我试图通过dir(x)来研究x对象的结构,我注意到它有一个__iter__函数对象。 所以我发现它可以用作迭代器,只要它支持这种types的接口。 […]
我有两个列表,date和值。 我想用matplotlib来绘制它们。 以下创build我的数据散点图。 import matplotlib.pyplot as plt plt.scatter(dates,values) plt.show() plt.plot(dates, values)创build一个线图。 但我真正想要的是一个散点图,这些点是通过一条线连接的。 类似于R: plot(dates, values) lines(dates, value, type="l") ,这给了我一个点连线的重叠点的散点图。 我如何在Python中做到这一点?
我已经使用了一个ruby脚本来将ISO时间戳转换为纪元,我parsing的文件有以下时间戳结构: 2009-03-08T00:27:31.807 由于我想保持毫秒,我使用下面的ruby代码将其转换为纪元时间: irb(main):010:0> DateTime.parse('2009-03-08T00:27:31.807').strftime("%Q") => "1236472051807" 但在Python中我尝试了以下: import time time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(1236472051807)) 但是我没有把原来的时间date回来, >>> time.strftime('%Y-%m-%d %H:%M:%S', time.gmtime(1236472051807)) '41152-03-29 02:50:07' >>> 我想知道它是如何格式化?
假设我有以下几点: def with_connection(f): def decorated(*args, **kwargs): f(get_connection(…), *args, **kwargs) return decorated @with_connection def spam(connection): # Do something 我想testingspamfunction,而不用经历设置连接的麻烦(或者装饰者正在做的事情)。 鉴于spam ,我如何从它剥离装饰,并获得底层“未修饰”的function?
是否有可能从Python内运行MATLAB函数? 我search互联网,我只能findPyMat。 不好的一面是编译版本只支持Python2.2,而我正在使用2.6。 所以我试图下载源代码,所以我可以自己编译它。 但是我不能编译它,VC ++ express似乎没有必要的function来编译它。 有没有人有PC的编译版本? 或PyMat的任何替代品? 谢谢
我想知道是否有一种更简单,高效的内存方法来从pandas数据框中select行和列的子集。 例如,给定这个数据框: df = DataFrame(np.random.rand(4,5),columns = list('abcde')) 打印df ABCDE 0 0.945686 0.000710 0.909158 0.892892 0.326670 1 0.919359 0.667057 0.462478 0.008204 0.473096 2 0.976163 0.621712 0.208423 0.980471 0.048334 3 0.459039 0.788318 0.309892 0.100539 0.753992 我只想要列'c'的值大于0.5的那些行,但是我只需要那些行的列'b'和'e'。 这是我提出的方法 – 也许有一个更好的“pandas”方式? locs = [[a','d']]中的[df.columns.get_loc(_)] 打印df [df.c> 0.5] [locs] 广告 0 0.945686 0.892892 我的最终目标是将结果转换为一个numpy数组传递给sklearn回归algorithm,所以我将使用上面的代码: training_set = array(df [df.c> 0.5] [locs]) […]