我正在使用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中的一个新"功能",还是我做错了什么?
在创建这样的新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.
我是否正确地认为我可以安全地抑制此检查异常?
我是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) 当我从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
常见的建议是将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"标头)
在我现在使用的基于Spring的Web应用程序项目中,开发人员已经为每个函数编写了两个日志记录语句.一个将条目记录到函数中,另一个记录退出.我们的想法是跟踪执行路径 - 至少是一个功能级别.
有没有办法实现这一点,而不会乱丢整个代码库与这些重复的语句?
要清楚,我们要记录所有函数,而不仅仅是Spring bean的公共方法.
如果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个字节之后看到某种模式,但我没有.
当尝试使用 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\nRun Code Online (Sandbox Code Playgroud)\n\n有谁知道如何解决这个问题?我使用的是 OS X 10.9,之前已经能够在这台计算机上构建 Pillow。
\n\n更新:请注意,我tiffio.h的机器上有/usr/local/include/tiffio.h. 将该目录设置为 C 包含路径后,我能够成功编译 Pillow。
\xce\xbc ~: C_INCLUDE_PATH=/usr/local/include\n\xce\xbc ~: pip install pillow\nDownloading/unpacking pillow\n...\nSuccessfully installed pillow\nCleaning up...\nRun Code Online (Sandbox Code Playgroud)\n\n这是应该如何完成的,还是我的机器或安装包有问题?
\n从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由于某种原因需要变得可变吗?
我只想在这里理解设计决定.
在研究软件方法时,我经常看到免责声明"这种方法需要一个成熟的开发团队".
哪些开发方法专门针对不成熟的开发团队? 我认为这是大多数球队应该开始的地方.
让我们将一个不成熟的团队定义为一个团队,其成员以前没有合作过,在一个未知的环境(即新公司)工作,还没有定义他们的流程和控制.
假设我有一个 40MM 9 位邮政编码的 Oracle 数据库表,其中包括每个 4 位邮政编码。我有一个包含 800 个 5 位邮政编码的列表,我需要找到所有关联的 9 位邮政编码。总共有 40K 5 位邮政编码。假设我们已使用 B*Tree(常规)索引对 5 位邮政编码字段进行索引。考虑到数据库性能和可伸缩性,最好的方法是:
在单个语句中查询所有记录?像这样运行一次:
SELECT * FROM ZIPCODE WHERE ZIP5 IN (:1, :2,... :800)
为每个 5 位邮政编码查询一次?像这样运行 800 次:
SELECT * FROM ZIPCODE WHERE ZIP5 = :1
介于两者之间的一些批量大小?
你怎么看,为什么?如果您处于思考状态,一些 [可选] 后续想法:
使用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.我的模板目录位于我的项目文件夹中.
我不想做的是使用绝对路径,因为我希望能够移动我的项目文件而不必修改代码以保持其工作.
我希望它使用UTF-8编码存储.
我有一个存储在Salesforce.com字段中的值,从GUI看起来像这样(注意商标字符):
Chuck Norris's Roundhouse Kick™
Run Code Online (Sandbox Code Playgroud)
我正在使用Informatica将其复制到Oracle数据库.我的数据库设置为使用AL32UTF8编码.
当我使用SQL Developer查询我的表时,商标符号显示为矩形(黑色边框,白色填充).
当我使用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中看到的内容足够"测试"的人;)
python ×3
java ×2
performance ×2
spring ×2
activex ×1
agile ×1
com ×1
cryptography ×1
django ×1
excel ×1
excel-2007 ×1
hmac ×1
http ×1
javabeans ×1
javascript ×1
jax-ws ×1
jsp ×1
jstl ×1
libtiff ×1
logging ×1
macos ×1
methodology ×1
mezzanine ×1
oracle ×1
pbkdf2 ×1
pip ×1
scalability ×1
sha1 ×1
spring-3 ×1
spring-mvc ×1
sql ×1
unicode ×1
utf-8 ×1
web.py ×1