小编Mik*_*Lin的帖子

Python和Excel:尽管有XlSaveConflictResolution值,但覆盖现有文件总是会提示

我正在使用Python程序中的Excel.Application COM对象打开CSV文件并将其另存为Excel工作簿.如果目标文件已经存在,那么系统会显示以下消息:"此位置已存在名为'...'的文件.是否要替换它?" 尽管事实上我已经将XlSaveConflictResolution值设置为xlLocalSessionChanges这个消息,但它应该会自动覆盖更改而不会提示 - 或者我认为.

我正在使用Microsoft Office Excel 2007(12.0.6535.5002)SP2 MSO和ActivePython 2.6.5.14.我已经使用常量和整数尝试了所有三个XlSaveConflictResolution值.我没有尝试过不同版本的Excel.

这是一段代码片段:

import win32com.client
xl = win32com.client.gencache.EnsureDispatch("Excel.Application")
wb = xl.Workbooks.Open(r"C:\somefile.csv")
wb.SaveAs(r"C:\somefile.xls", win32com.client.constants.xlWorkbookNormal, \
    None, None, False, False, win32com.client.constants.xlNoChange, \
    win32com.client.constants.xlLocalSessionChanges)
Run Code Online (Sandbox Code Playgroud)

以下是Microsoft关于Excel工作簿对象的SaveAs方法的规范:http://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.workbook.saveas(VS.80).aspx

这可能是Excel 2007中的一个新"功能",还是我做错了什么?

python com excel activex excel-2007

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

创建新的XMLGregorianCalendar时忽略DatatypeConfigurationException

在创建这样的新XMLGregorianCalendar实例时,我是否真的需要处理DatatypeConfigurationException异常,还是可以安全地抑制它?

try {
    header.setRequestDateTime(
                DatatypeFactory.newInstance().newXMLGregorianCalendar(
                        new GregorianCalendar()));
} catch (DatatypeConfigurationException e) {
    // pass
}
Run Code Online (Sandbox Code Playgroud)

我对文档的解释和一些粗略的逻辑说,除非我给它一些不好的输入,否则这不会引发异常.在上面的例子中,情况并非如此.以下是JavaDocs对此的评价:

如果存在由DATATYPEFACTORY_PROPERTY指定的系统属性"javax.xml.datatype.DatatypeFactory",则实例化具有属性值的名称的类.在实例化过程中抛出的任何异常都被包装为 DatatypeConfigurationException.

我是否正确地认为我可以安全地抑制此检查异常?

java exception-handling jax-ws

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

如果我传递bean,如何访问jsp中的数组列表

我是JSTL的新手.<c:foreach>如果我传递下面的示例bean,我如何在jsp中使用JSTL

class B{
    private String value="";
    private ArrayList arrayVals;
    public String getvalue(){
        return value;
    }
    public String getarrayVals(){
        return arrayVals;
    }
}
Run Code Online (Sandbox Code Playgroud)

我只会通过Bean"B".我尝试下面,但jsp没有编译.请帮我.

<c:forEach items="${B.getarrayVals}" var="book"> 
    <c:out value="{book.title}"/> 
</c:forEach>
Run Code Online (Sandbox Code Playgroud)

jsp jstl javabeans

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

spring-webmvc.jar没有附带Spring Framework 3.0.5下载

当我从springsource.org的下载页面下载Spring Framework(最新的GA版本:3.0.5.RELEASE),ZIP文件不包含spring-webmvc-3.0.5.RELEASE.jar或类似的东西.我在这里错过了什么吗?

实际的ZIP文件位于:http://s3.amazonaws.com/dist.springframework.org/release/SPR/spring-framework-3.0.5.RELEASE.zip

spring spring-mvc spring-3

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

仅考虑页面速度,CSS或JS在什么程度上足以外化

常见的建议是将CSS和JS文件保持在外部.原因是:您在额外的HTTP请求*中丢失了什么,您通常不必下载可缓存的静态内容(CSS和JS通常是这样).

但是,外部文件越小,额外的HTTP请求就越不利 - 即使它是304 Not Modified响应.因此,外部文件越小,就越有理由支持内联CSS和JS内容,至少在速度是您最关心的问题时.

我做了一些测试.没有详细说明,我的结果如下:

External File Size    Average Gain
----------------------------------
               1KB          -3.7ms
               2KB          -3.7ms
               4KB          -4.0ms
               8KB          -3.0ms
              16KB          -2.7ms
              32KB           1.0ms
              64KB           2.7ms
             128KB          10.0ms
             256KB         493.7ms
             512KB        1047.0ms
            1024KB        2569.7ms
Run Code Online (Sandbox Code Playgroud)

我的一般结论是,使用外部文件在他们获得BIG之前并不重要.而BIG,我指的是50-100KB的范围......如果你利用那些,那就是缩小和压缩.

任何人都可以使用其他数据确认或驳斥这些结果吗?

(*假设您不使用HTTP"Expires"标头)

javascript performance web-applications http

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

如何跟踪基于Spring的Web应用程序中所有函数的进入和退出?

在我现在使用的基于Spring的Web应用程序项目中,开发人员已经为每个函数编写了两个日志记录语句.一个将条目记录到函数中,另一个记录退出.我们的想法是跟踪执行路径 - 至少是一个功能级别.

有没有办法实现这一点,而不会乱丢整个代码库与这些重复的语句?

要清楚,我们要记录所有函数,而不仅仅是Spring bean的公共方法.

java logging spring

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

如何使用HMAC SHA-1的PBKDF2返回超过20个字节?

如果Node crypto.PBKDF2使用HMAC SHA-1,那么密钥长度如何超过20个字节?

这是我理解的(显然不正确):crypto.PBKDF2(password, salt, iterations, keylen, callback)使用HMAC SHA-1用盐哈希密码.然后,它需要的是哈希和哈希具有相同的盐.它会重复这一点,无论你告诉它多少次迭代,然后将结果传回给你.结果将截断为您指定的字节数keylen.

SHA-1输出160位或20个字节.但是,我可以要求keylen超过20个字节crypto.PBKDF2,并且在第20个字节之后,数据不会重复.这对我来说没有意义.

我在这里误解了什么?

试试看:

c.pbkdf2('password', 'salt', 1, 21, function(err, key) {
    for (var i = 0; i < key.length; i++) {
        console.log(key[i].toString(36));
    }
});
Run Code Online (Sandbox Code Playgroud)

我希望在第20个字节之后看到某种模式,但我没有.

cryptography sha1 hmac pbkdf2

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

在 Mac OS X 上安装 Pillow 时缺少头文件 tiffio.h

当尝试使用 PIP 安装 Pillow 时,我收到以下包含错误:

\n\n
\xce\xbc ~: pip install pillow\n...\nlibImaging/TiffDecode.h:10:10: fatal error: 'tiffio.h' file not found\n\n#include <tiffio.h>\n\n         ^\n\n1 error generated.\n\nerror: command 'cc' failed with exit status 1\n
Run Code Online (Sandbox Code Playgroud)\n\n

有谁知道如何解决这个问题?我使用的是 OS X 10.9,之前已经能够在这台计算机上构建 Pillow。

\n\n

更新:请注意,我tiffio.h的机器上有/usr/local/include/tiffio.h. 将该目录设置为 C 包含路径后,我能够成功编译 Pillow。

\n\n
\xce\xbc ~: C_INCLUDE_PATH=/usr/local/include\n\xce\xbc ~: pip install pillow\nDownloading/unpacking pillow\n...\nSuccessfully installed pillow\nCleaning up...\n
Run Code Online (Sandbox Code Playgroud)\n\n

这是应该如何完成的,还是我的机器或安装包有问题?

\n

macos pip libtiff python-imaging-library mezzanine

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

为什么Django的ModelAdmin使用列表而不是元组,反之亦然

从Django介绍教程,在\mysite\polls\admin.py:

from django.contrib import admin
#...
class PollAdmin(admin.ModelAdmin):
  #...
  inlines = [ChoiceInline]
  list_display = ('question', 'pub_date', 'was_published_today')
  list_filter = ['pub_date']

admin.site.register(Poll, PollAdmin)
Run Code Online (Sandbox Code Playgroud)

为什么内联和list_filter使用列表,同时list_display使用元组?内联并且list_filters由于某种原因需要变得可变吗?

我只想在这里理解设计决定.

python django

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

不成熟团队的发展方法

在研究软件方法时,我经常看到免责声明"这种方法需要一个成熟的开发团队".

哪些开发方法专门针对不成熟的开发团队? 我认为这是大多数球队应该开始的地方.

让我们将一个不成熟的团队定义为一个团队,其成员以前没有合作过,在一个未知的环境(即新公司)工作,还没有定义他们的流程和控制.

agile methodology development-process

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

查询性能,多个“OR”与单独的语句

假设我有一个 40MM 9 位邮政编码的 Oracle 数据库表,其中包括每个 4 位邮政编码。我有一个包含 800 个 5 位邮政编码的列表,我需要找到所有关联的 9 位邮政编码。总共有 40K 5 位邮政编码。假设我们已使用 B*Tree(常规)索引对 5 位邮政编码字段进行索引。考虑到数据库性能和可伸缩性,最好的方法是:

  1. 在单个语句中查询所有记录?像这样运行一次:

    SELECT * FROM ZIPCODE WHERE ZIP5 IN (:1, :2,... :800)

  2. 为每个 5 位邮政编码查询一次?像这样运行 800 次:

    SELECT * FROM ZIPCODE WHERE ZIP5 = :1

  3. 介于两者之间的一些批量大小?

你怎么看,为什么?如果您处于思考状态,一些 [可选] 后续想法:

  • 我们可以运行哪些测试来验证您的想法?
  • 最佳方法是否随着数量的变化而变化(例如,如果我们将 100 个 9 位邮政编码映射到 10 个 5 位邮政编码,则查找这 10 个中的 3 个)?
  • 数据库的最佳选择与吸收查询结果的应用服务器的最佳选择不同吗?

sql oracle performance scalability

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

在Apache上部署时,使用webpy的web.template.render()和相对路径

使用webpy,引用web.template.render()的模板目录的正确方法是什么,以便它可以在webpy开发Web服务器和Apache上运行?

以下代码使用开发服务器,但在我的Apache服务器上运行时不起作用.

import web

urls = (
  '/', 'index',
  )

class index:
  def GET(self):
    render = web.template.render('templates/')
    return render.index(self)
Run Code Online (Sandbox Code Playgroud)

我知道问题是web.template.render('templates/')问题所在,因为当Apache运行时,相对路径不再有效C:\Program Files\Apache Software Foundation\Apache2.2.我的模板目录位于我的项目文件夹中.

我不想做的是使用绝对路径,因为我希望能够移动我的项目文件而不必修改代码以保持其工作.

python web.py

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

如何检查我的Oracle数据库中是否正确设置了trademark(™)字符?

如何检查我的Oracle数据库中是否正确设置了trademark(™)字符?

我希望它使用UTF-8编码存储.

我有一个存储在Salesforce.com字段中的值,从GUI看起来像这样(注意商标字符):

Chuck Norris's Roundhouse Kick™
Run Code Online (Sandbox Code Playgroud)

我正在使用Informatica将其复制到Oracle数据库.我的数据库设置为使用AL32UTF8编码.

它是如何在SQL Developer中显示的

当我使用SQL Developer查询我的表时,商标符号显示为矩形(黑色边框,白色填充).

它是如何在HTML中显示的

当我使用UTF-8编码将其从SQL Developer导出到HTML文档中并在Chrome中打开时,商标符号根本不会出现.当我在IE中打开它时,它再次显示为矩形.在Firefox中,它是一个00上半部分和99下半部分的矩形.所有三个浏览器都使用UTF-8解释HTML文档.

它如何在文本编辑器中显示

在记事本和Notepad ++中打开相同的HTML文档,商标符号显示为矩形.如果我使用Notepad ++的Hex Viewer插件,我会看到字节编码是C2 99.这似乎是UTF-8中商标符号正确编码.

当我在MS Write中打开文档时,商标字符如下所示:™.

当我以编程方式获得值时

使用Python,当我从数据库中获取值时,商标字符被替换为'\ xbf' - 倒置的问号,但是就我所知,字符甚至没有正确编码,因为它缺少至少一个领先字节(取决于具体的编码)

>>> import cx_Oracle
>>> con = cx_Oracle.connect('username', 'password', 'db')
>>> cur = con.cursor()
>>> cur.execute('select * from trademark')
<__builtin__.OracleCursor on <cx_Oracle.Connection to username@db>>
>>> records = cur.fetchall()
>>> records[0][0]
"Chuck Norris's Roundhouse Kick\xbf"
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望能够使用上述所有方法验证存储在Oracle数据库中的数据.我会满足于那些只是验证我在Hex Viewer中看到的内容足够"测试"的人;)

unicode utf-8 character-encoding

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