对于我的NLP项目,我想从维基百科随机下载大量页面(比如10000).没有下载整个XML转储,这是我能想到的:
在第2步和第3步中,如果我达到了我想要的页数,我将退出.
你会怎么做?请提出您能想到的更好的想法.
答案:这是我的Python代码:
# Get 10000 random pages from Wikipedia.
import urllib2
import os
import shutil
#Make the directory to store the HTML pages.
print "Deleting the old randompages directory"
shutil.rmtree('randompages')
print "Created the directory for storing the pages"
os.mkdir('randompages')
num_page = raw_input('Number of pages to retrieve:: ')
for i in range(0, int(num_page)):
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
infile = opener.open('http://en.wikipedia.org/wiki/Special:Random')
page = infile.read()
# Write it to a file.
# TODO: …
Run Code Online (Sandbox Code Playgroud) 我有一个winforms应用程序,其中一些数据存储在XML文件中.应存储这些XML文件的位置可由用户配置,并存储在AppSettings中.我的所有图层都是单独的组件.我可以从我的DAL程序集中访问我的设置,还是应该将其作为参数传递到我的所有图层?
当我尝试从DAL层读取设置时,我遇到了另一个问题
Configuration config = ConfigurationManager.OpenExeConfiguration(
System.Reflection.Assembly.GetEntryAssembly().Location);
string dataStorageLocation = config.AppSettings["DataStorageLocation"];
Run Code Online (Sandbox Code Playgroud)
config.AppSettings ["DataStorageLocation"]给出编译错误:System.Configuration.ConfigurationElement.this [System.Configuration.ConfigurationProperty]由于其保护级别而无法访问.这是为什么?
有人能让我走上正轨吗?谢谢.
执行对象比较时,按名称(字符串)或类型(指针)进行比较是否更快?
见下文:
if(sender is DataGridView) { .. }
Run Code Online (Sandbox Code Playgroud)
要么
if(sender.GetType().ToString() == "System.Forms.DataGridView") { .. }
Run Code Online (Sandbox Code Playgroud)
自从我开始使用互联网以来,我一直在考虑创建自己的ftp客户端.现在我正在学习Python,我正在考虑创建一个作为练习/个人项目.
我在想,
ftplib
满足吗?或者你会建议另一个图书馆(最好是一个有良好文档的图书馆)?我很感激任何指导/帮助.提前致谢!:)
是否建议使用while循环,它永远不会在构造函数中结束?或者我应该使用线程来获得相同的结果?构造函数永远不会终止时好吗?或者避免分段错误更安全吗?
希望你能理解我糟糕的英语..
我需要连接两个这样的const字符:
const char *one = "Hello ";
const char *two = "World";
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
我char*
从带有C接口的第三方库中传递了这些,所以我不能简单地使用它std::string
.
我有一个使用GLSL的OpenGL程序,我可以使用Visual Studio(2008)中的Play按钮运行 - 在标准的Release和Debug配置中都可以.
但是,当我尝试从资源管理器中运行可执行文件时,我得到的只是一个闪烁的cmd提示符,其中没有文本表示任何类型的加载失败.
我已经尝试将所需的DLL文件(glut32.dll,glew.dll等)复制到可执行文件所在的同一文件夹中,但这并没有什么区别.我也尝试将GLSL文件复制到同一个文件夹,但这也无济于事.
我需要做什么,让程序在没有Visual Studio的情况下运行?
我有Order
一个列表的类,OrderTransactions
我用一对多的Hibernate映射映射它,如下所示:
@OneToMany(targetEntity = OrderTransaction.class, cascade = CascadeType.ALL)
public List<OrderTransaction> getOrderTransactions() {
return orderTransactions;
}
Run Code Online (Sandbox Code Playgroud)
这些Order
还有一个字段orderStatus
,用于使用以下条件进行过滤:
public List<Order> getOrderForProduct(OrderFilter orderFilter) {
Criteria criteria = getHibernateSession()
.createCriteria(Order.class)
.add(Restrictions.in("orderStatus", orderFilter.getStatusesToShow()));
return criteria.list();
}
Run Code Online (Sandbox Code Playgroud)
这有效,结果如预期.
现在这里是我的问题:为什么,当我明确地设置fetch类型时EAGER
,Order
s会在结果列表中多次出现?
@OneToMany(targetEntity = OrderTransaction.class, fetch = FetchType.EAGER, cascade = CascadeType.ALL)
public List<OrderTransaction> getOrderTransactions() {
return orderTransactions;
}
Run Code Online (Sandbox Code Playgroud)
如何更改我的Criteria代码以使用新设置达到相同的结果?
我正在使用SQL Server 2005并有一个表:
int Code1,
int Code2,
real Val1,
real Val2,
real Val3,
Run Code Online (Sandbox Code Playgroud)
Code1和Code2充当主键,是聚集索引的一部分(只有一个索引).每个参数占用4个字节(每行占用20个字节).
表中有2450万条记录,填充因子为100%,索引占2MB,页面大小为4k.
假设每个页面都填充了尽可能多的记录,那么每个页面应该包含204条记录,这些记录是4080字节(%99.6页填充)
所以,我希望磁盘上占用的磁盘大小约为500MB(20字节*24.5 M记录),但事实是该表占用773MB.
我尝试缩小和重新索引,但表格大小没有变化.
我不是SQL专家,有人可以帮忙吗?
python脚本是否可以在低运行级别执行?
编辑:为了澄清,python脚本是否有可能在后台运行,有点像守护进程.