我是Python的新手,我试图找出计算特定子目录中.TIF文件数量的最有效方法.
做了一些搜索,我发现了一个例子(我没有测试过),它声称要计算目录中的所有文件:
file_count = sum((len(f) for _, _, f in os.walk(myPath)))
Run Code Online (Sandbox Code Playgroud)
这很好,但我只需要计算TIF文件.我的目录将包含其他文件类型,但我只想计算TIF.
目前我使用以下代码:
tifCounter = 0
for root, dirs, files in os.walk(myPath):
for file in files:
if file.endswith('.tif'):
tifCounter += 1
Run Code Online (Sandbox Code Playgroud)
它工作正常,但循环对我来说似乎过多/昂贵.任何方式更有效地做到这一点?
谢谢.
我已经在Windows Scheduler中设置了一个任务(在Win Server 2008上).它工作得很好但是在高峰时段(当盒子被用于其他东西时)会给系统带来负担.我目前每15分钟就有一份工作.Can Task Sch.设置为每15分钟运行一次,但仅限于某个时间窗口.所以我可以把它设置为每15分钟运行一次,但是从下午5点到凌晨5点 - 并且从早上5点到下午5点都不运行?
我有一个条形图,我绘制了3条垂直线,每条线在顶部都有自己的标签.我希望这些标签位于y轴的顶部之上(在示例中位于30%线之上)但在图例下方.我无法弄清楚如何增加顶部图例和图表之间的空间,这样我可以让我的垂直线标签(15,24和33)偏离图表本身但在图例下方.有任何想法吗?
我在ColdFusion应用程序中遇到查询时遇到问题(回溯到MS SQL 2008).我一直在这个事务上遇到数据库死锁错误:
<code>
<cftransaction>
<cfquery name="selectQuery">
SELECT TOP 20 item_id, field2, field3
FROM Table1
WHERE subject_id = #subject_ID# AND lock_field IS NULL AND
NOT EXISTS (SELECT * FROM Table2 WHERE Table2.user_ID = #user_ID# Table1.item_id = Table2.item_id)
</cfquery>
<cfquery name="updateQuery">
UPDATE Table1
SET lock_field = 1, locked_by = #user_ID#
WHERE Table1.item_id IN (#ValueList(selectQuery.item_id#)
</cfquery>
</cftransaction>
</code>
Run Code Online (Sandbox Code Playgroud)
基本上,我有一个表(Table1),表示一大堆等待项.用户"结账"项目给他们一个分数.一次只有一个用户可以检出项目.我需要为给定用户一次请求一个包含20个项目的块.这些项目尚未签出,用户之前也无法对其进行评分(因此SELECT中的lock_field为IS NULL和NOT EXISTS语句).一旦我确定了20个item_id的列表,我就需要更新队列表以将它们标记为已锁定,这样就不会有其他人同时检查它们.我还需要返回item_ids列表.
我认为如果我将它从cftransaction移动到SQL Server端的存储过程,它可能会更好.我只是不确定cftransaction锁定是否以某种方式干扰.我不是TSQL大师,所以一些帮助将不胜感激.
我使用Application Insights在Azure上托管了一个MVC 5 Web应用程序.App Insights通过VS 2015中的NugGet软件包安装,并且密钥设置正确.我已将JS部分包含在页面模板的底部.我收到所有App Insight数据,除了"服务器"部分,它显示较低级别的perfmon数据(进程CPU,可用,内存,进程IO速率等).
ApplicationInsights.config文件似乎包含必要的模块:
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector">
Run Code Online (Sandbox Code Playgroud)
我在B1 App Service Plan级别上运行它.我找不到任何可能表明此级别无法提供此信息的信息.
目前,如果我托管Access .MDB文件以允许用户下载,IIS7会抛出404错误.我知道文件在那里,权限很好.它似乎是一个Handler问题,但我无法弄清楚如何更改处理程序以允许下载MDB文件.我假设我需要在web.config的Handlers部分添加一些内容,但我不确定语法.
谢谢.
我在我的MVC网站和Azure SQL后端使用EF 6 Code First.Azure门户SQL页面包含许多可以通过单击应用的索引建议.但是,我不确定对我的EF数据模型的影响.我知道如果我直接在数据库中添加或删除表,字段等,那么EF会抱怨我的模型和数据库不同步而且事情变得糟糕.索引怎么样?如果我让Azure自动添加推荐的索引,EF甚至会知道吗?它会引起问题吗?
sql-server asp.net-mvc entity-framework azure azure-sql-database
我正在设计我的第一个Amazon AWS项目,我可以使用队列处理的一些帮助.
此服务通过ASP.net Web API服务或GUI网站(仅调用API)接受处理作业.每个作业都有一个或多个与之关联的文件以及有关作业类型的一些规则.我希望将每个作业排入队列,大概使用AWS SQS.然后,作业将由"worker"处理,这是一个带有.Net包装器的python脚本.python脚本是一个现有的批处理器,无法为AWS更改/自定义,因此.Net中的包装器管理AWS部分并将正确的参数传递给python.
问题是我们不会有大量的工作,但每项工作都是计算密集型的.转到AWS的原因之一是最大限度地降低基础架构成本.我打算在弹性beanstalk上运行前端网站(Web API + ASP.net MVC4站点).但我宁愿不让一个专门的工人机器总是在线轮询工作,因为这些工人需要有点"更强"的实例(用于处理),并且我们将花费很多钱而无所事事.
有没有办法只在beanstalk上运行web部分,然后让工作进程只在队列中有项目时才会启动?我意识到我可以有一个微型"控制器"实例总是在线轮询,然后让它控制计算旋转,但即便如此,似乎不应该需要它.可以基于非零SQS队列大小启动EC2实例吗?所以基本上web api会将作业添加到队列中,有些东西会监视队列并看到它非零,这会触发EC2工作程序启动,它会在启动时旋转并轮询队列.它一直处理直到队列为止,然后才会触发它关闭.
我有一张超过100万个测试成绩记录的表格,基本上有一个独特的score_ID,一个subject_ID和一个人给出的分数.大多数受试者的得分范围是0-3,但有些得分范围为0-4.大约有25个可能的科目.
我需要制作一个分数分布报告,如下所示:
subject_ID 0 1 2 3 4
---------- --- --- --- --- ---
1 967 576 856 234
2 576 947 847 987 324
.
.
Run Code Online (Sandbox Code Playgroud)
因此,它按subject_ID对数据进行分组,然后显示在该主题中给出特定分数值的次数.
任何生成这个的SQL指针都将非常感激.
我正在构建一个虚拟WCF REST服务,目的是为了了解它是如何工作的(准备真正的服务构建).我使用REST服务并使用JSON和POX格式进行响应.但是,我无法使路由解决方案工作,以消除".svc"文件.我在Win Server 2008 R2上使用VS 2010,WCF 4.0和IIS 7.5.
现在URL的工作原理为:"/ api /rest/atrest.vc/json/myMethod",但我想要"/ api/rest/json/myMethod".我在SO和其他地方发现了许多文章声称删除了".svc"文件.我相信我按照指示进行了设置,但由于Global.asax文件中的错误,项目无法构建.
它说要将以下内容添加到Application_Start函数中:
RouteTable.Routes.Add(new ServiceRoute("", new WebServiceHostFactory(),
typeof(RestService)));
Run Code Online (Sandbox Code Playgroud)
我还在web.config中添加了以下内容:
<modules runAllManagedModulesForAllRequests="true">
<add name="UrlRoutingModule"
type="System.Web.Routing.UrlRoutingModule,
System.Web.Routing, Version=4.0.0.0,
Culture=neutral,
PublicKeyToken=31BF3856AD364E35" />
</modules>
<handlers>
<add name="UrlRoutingHandler"
preCondition="integratedMode"
verb="*" path="UrlRouting.axd"
type="System.Web.HttpForbiddenHandler,
System.Web, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
Run Code Online (Sandbox Code Playgroud)
我还将aspNetCompatibility行添加到web.config和svc.cs文件中的类之上.
问题是我甚至无法建立项目.当我将RouteTable.Routes.Add行添加到global.asax并构建它时,我收到以下错误:
"System.ServiceModel.Activation.ServiceHostFactory"类型在未引用的程序集中定义.您必须添加对程序集'System.ServiceModel.Activation,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'的引用.
找不到类型或命名空间名称'ServiceRoute'(您是否缺少using指令或程序集引用?)
任何想法为什么失败?
我已经为我的新python脚本设置了日志记录模块.我有两个处理程序,一个发送文件到一个文件,一个用于电子邮件警报.SMTPHandler设置为以ERROR级别或更高级别邮寄任何内容.
除非SMTP连接失败,否则一切都很好.如果SMTP服务器没有响应或身份验证失败(它需要SMTP身份验证),则整个脚本将终止.
我是python的新手,所以我试图找出如何捕获SMTPHandler正在引发的异常,以便通过电子邮件发送日志消息的任何问题都不会导致我的整个脚本崩溃.由于我也在向日志文件写错误,如果SMTP警报失败,我只想继续,不要停止任何事情.
如果我需要一个"try:"语句,它会绕过logging.handlers.SMTPHandler设置,还是围绕对my_logger.error()的单独调用?
我有一个大约1.6M行的表,其中记录具有唯一(标识)ID,然后还有一个8个字符的"代码"字段.它用于将数据分组的代码字段...具有相同代码的所有行都在同一个集合中.每个集合应包含12个记录,但似乎我们的数据加载已关闭且某些集合不完整.
我需要识别不完整的集合.我如何编写查询以仅选择那些在集合中没有正确数量的记录的集合中的那些记录(12)?
我正在使用MS SQL 2008.
谢谢.
根据此 WebJobs文档页面,对于POCO输出队列消息,"始终创建队列消息,即使该对象为空".
在我的场景中,我只想有条件地从我的WebJob输出队列消息.目前,我使用"out"队列向我的下游WebJob收到大量空消息:
[Queue("myoutqueue")] out myPOCO outputQueueMessage
Run Code Online (Sandbox Code Playgroud)
唯一的方法是不使用WebJobs Queue属性并使用客户端库自己对消息进行排队?
azure ×3
sql ×3
python ×2
sql-server ×2
t-sql ×2
.net ×1
amazon-ec2 ×1
amazon-sqs ×1
asp.net-mvc ×1
c# ×1
chart.js ×1
chart.js2 ×1
coldfusion ×1
count ×1
download ×1
file ×1
handler ×1
iis-7 ×1
logging ×1
ms-access ×1
pivot ×1
rest ×1
select ×1
wcf ×1