Tag: python

我如何在像rubk中的范围正则表达式中使用awk / start /,/ stop /

我想像这样做一个AWK风格的范围正则表达式: awk ‘ /hoststatus/,/\}/’ file 在AWK中,这将打印文件中两个模式之间的所有行: hoststatus { host_name=myhost modified_attributes=0 check_command=check-host-alive check_period=24×7 notification_period=workhours check_interval=5.000000 retry_interval=1.000000 event_handler= } 我如何在Ruby中做到这一点? 额外奖励:你会怎么用Python做的? 这在AWK中非常强大,但我是Ruby的新手,不知道你是怎么做的。 在Python中,我也找不到解决方案。

为什么我不能“字符串”.print()?

我对Python和Ruby(以及其他语言)中print()理解是它是一个字符串(或其他类型)的方法。 因为它是如此常用的语法: 打印“hi” 作品。 那么为什么不用Python中的”hi”.print()或Ruby中的”hi”.print工作呢?

是否有类似Ruby的Python库(或模式)和?

例如,我有一个可能是None的对象x或一个float的字符串表示。 我想做以下事情: do_stuff_with(float(x) if x else None) 除了不必输入x两次,就像Ruby的andand库一样: require ‘andand’ do_stuff_with(x.andand.to_f)

运行时动态绑定和类inheritance之间的区别

我试图澄清动态语言(Python,ruby)和静态类型语言(java,C ++)中的运行时动态绑定和类inheritance的概念。 我不确定我是对的。 在Python和Ruby等动态语言中,运行时动态绑定实现为duck typing。 当解释器检查对象的类型时,它会检查对象是否具有特定的方法(或行为),而不是检查对象的类型; 和运行时动态绑定并不意味着类inheritance。 类inheritance只是减少Python和Ruby中的代码副本。 在Java和C ++等静态类型语言中,运行时动态绑定只能获得类inheritance。 类inheritance不仅减少了代码副本,还用于实现运行时动态绑定。 总之,类inheritance和运行时动态绑定是两个不同的概念。 在Python和Ruby中,它们完全不同; 在Java和C ++中,它们混合在一起。 我对吗?

从python的str字节序列中获取unicode

我有一个旧的django应用程序,它在数据库中保存了UTF-8字符串,当我尝试在Ruby中获取它们时,它们看起来像无效的utf8。 保存之前的str在python中是str类型,但是当从数据库中获取时,django给了我一个合适的unicode字符串。 当我在rails中获取相同的记录时,我得到一个与python的str字符串相同的字节序列,而ruby抱怨它是一个无效的字节序列。 示例:测试过的字符串是一个表情符号:🔥 在保存在Django- str类型之前,序列: [237, 160, 189, 237, 180, 165] 从Django中的db获取 – unicode类型,序列[55357, 56613] 从Rails中的db获取 – 序列[237, 160, 189, 237, 180, 165] 有没有办法将Ruby中的字节序列转换为正确的utf8字符串?

在生产中发布基于python / ruby​​ / script的Web应用程序时的实践

我纯粹是一个Windows程序员,花了我所有的时间来破解VC ++。 最近我一直在使用几个基于Web的应用程序,我自己使用python(/ pylons框架)构建应用程序并在rails上执行项目。 所有的web项目都托管在ubuntu linux上。 我们在构建和发布VC ++ windows应用程序时遵循的RELEASE过程和检查列表在基于脚本的语言方面仅仅没有用处。 所以我们现在不构建任何二进制文件。 我在使用开源cms应用程序时通过ftp服务器将asp / php文件复制到IIS文件夹中。 因此,FTP是将文件托管到Web服务器的方法之一。 现在我们感到懒惰或不那么热衷于通过ftp复制文件而不是我们使用SVN结账 ,我们只是做svn更新来获取最新的副本。 SVN checkout和svn update是将最新构建文件更新到服务器的正确方法吗? 使用svn更新有什么缺点吗? 有没有更好的方法将脚本/基于Web的脚本发布到生产服务器? PS:我在linux平台的某个扩展上使用了ssh服务器。

在Ruby / Python中使用哪个AES库?

我需要能够在Ruby客户端和Python服务器之间发送加密数据(反之亦然),并且在使用ruby-aes gem /库时遇到了问题。 该库非常易于使用,但我们在它与Python的pyCrypto AES库之间传递数据时遇到了麻烦。 当它们是唯一使用的库时,这些库看起来很好,但它们似乎在语言边界上不能很好地发挥作用。 有任何想法吗? 编辑:我们正在通过SOAP进行通信,并尝试将二进制数据转换为base64无济于事。 此外,更多的是加密/解密在两者之间几乎但不完全相同(例如,长度相差一个或在解密字符串的末尾有额外的垃圾字符)

自动将Sybase .ADT文件转换为SQL

我正在处理我获得的一些数据,这些数据是使用嵌入式Advantage Database Server通过程序读取的。 该程序不是由我编写的,并没有我需要的所有function。 我想将这些数据转换为不同的格式,以便我可以更自由地使用它,例如MySQL。 我知道Sybase提供了一些将单个本地数据库转换为SQL的工具,这非常好。 这可以正常工作,除了该程序的作者为用户正在使用的每个新文档创建一个包含新数据库的新文件夹。 因此,可能有100个单独的数据库文件夹,每个文件夹中包含100个.ADT文件。 我正在寻找一种方法来自动化这些.ADT文件及其架构的过程,基本上是其他任何东西。 几乎所有其他我过去必须使用的格式都运气不错,这个格式最麻烦。 我不需要索引,视图或其中任何一个。 我只需要将表导出为另一种格式,以便我可以处理一些数据。 所以我在这里寻找的解决方案只是一种自动将单个Advantage Database Server本地数据库转换为SQL的方法。 所以我有一个代表数据库的.ADT文件夹。 我在标签中包含了Ruby和Python,因为使用这些脚本语言之一是理想的,但任何解决方案都会很棒。 我现在的路线是尝试使用ODBC驱动程序,但我遇到了麻烦,希望有一个更简单的解决方案。 谢谢! 追逐格雷

打印出os.popen()的输出而不在python中进行缓冲

假设我有一个进程打印出一些类似于这个ruby代码的数据。 1.upto(10) { |i| puts i puts “\n” sleep 0.6 } 我想要一个生成此过程的python代码,并从中读取数据以将其打印出来。 import os import sys cmd = “ruby /Users/smcho/Desktop/testit.rb”; pingaling = os.popen(cmd,”r”) while 1: line = pingaling.readline() if not line: break print line, sys.stdout.flush() pingaling.close() 这段代码的问题在于它不会逐个打印数字。 似乎python在最后一点打印出所有缓冲的数据。 有没有办法打印出没有缓冲的衍生过程的输出?

Django Compressor错误编译SASS( – scss无效选项)

我在Ubuntu 10.04 LTS上有一个环境设置来运行Django网站,它似乎不想玩得很好。 环境如下: Python 2.6.5 Django 1.3.1 Gunicorn 0.13.4 Supvervisor 3.0 Nginx 0.7.65 Varnish 2.1 我为Django应用程序安装了以下相关模块: django-appconf 0.4.1 django-compressor 1.1.1 django-smartagent 0.1.1 Coffee Script 1.2.0 Sass 3.1.12 一切都很好,但我收到以下模板错误: Caught FilterError while rendering: invalid option: –scss 我已经将它缩小到我的settings.py文件中的这个元组列表: ((‘text/coffeescript’, ‘coffee –compile –stdio’), (‘text/less’, ‘lessc {infile} {outfile}’), (‘text/x-sass’, ‘sass {infile} {outfile}’), (‘text/x-scss’, ‘sass –scss {infile} {outfile}’)) 看起来最后一行是导致所有这些麻烦的原因。 […]