python的这段代码怎么运行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的这段代码怎么运行相关的知识,希望对你有一定的参考价值。
python的这段代码怎么运行,初学者,只安装了pathon 设置了环境变量,不知道important的那个pywinauto是个什么东西,这段代码运行一直报错,怎么解决,是不是还要安装pywinauto这个东西?具体怎么操作,求详细步骤啊啊啊啊啊
你的应该是64位机器吧,pywinauto只支持32位的操作系统,所以字节长度不一样。如果解决了您的问题请采纳!
如果未解决请继续追问!追问
pywinauto不支持64位机器???那就是说我没办法运行那代码了???
追答其实我也不太确定,因为网上有一种说法是不支持64位的python,你可以换成32位的python试试。
或者使用:https://github.com/mpaf/pywinauto-64bit
看看可以不。
下载了,解压了,也把文件夹放到lib下了,然后这样的错怎么破
需要知道使用 AsEnumerable 的这段代码的工作原理
【中文标题】需要知道使用 AsEnumerable 的这段代码的工作原理【英文标题】:Need to know the working of this code which uses AsEnumerable 【发布时间】:2014-04-11 20:24:45 【问题描述】:当我运行这段代码时:
return dbAccess.ExecuteDataTable(dbAccess)
.AsEnumerable()
.Select(r => r.Field<int>("Id"))
.ToList();
它给了我一个错误:
SqlParameter 已经在 SqlParameterCollection 中
虽然我知道 AsEnumerable 适用于延迟执行或延迟加载这个概念,但这个概念仍然没有在我脑海中占据一席之地。
谁能解释一下 AsEnumerable 和这段代码的工作原理吗?
【问题讨论】:
ExecuteDataTable
返回的数据类型是什么?
@ScottChamberlain 返回了一个数据表
检查此解决方案是否对您有帮助。 ***.com/q/6289607/1733852
你给我们看的代码不应该抛出那个错误,你确定这个错误没有在ExecuteDataTable
内部发生吗?
【参考方案1】:
相当于你的代码如下
var retVal = new List<int>();
var dataTable = dbAccess.ExecuteDataTable(dbAccess);
foreach(DataRow r in dataTable.Rows)
var rowResult = (int)r["Id"]; //`(int)r["Id"]` is equivalent to `r.Field<int>("Id")`
retVal.Add(rowResult);
return retVal;
您无需担心代码执行不同,因为您在末尾添加了 .ToList()
,因此它会在您向我们展示的位置运行代码。如果您忽略了它,那么在不使用 yield return
的情况下显示“等效代码”将会更加困难,这可能会让您更加困惑。
如上所述,我看到的上述代码中唯一可能引发您的错误的是dbAccess.ExecuteDataTable(dbAccess);
。尝试像上面那样重写你的代码,看看你的错误发生在哪一行,也许它会给你下一步的方向。
【讨论】:
【参考方案2】:AsEnumerable 只是将对象转换为 IEnumerable(来自 IQeuriable),这意味着您将使用的任何 LINQ 运算符都将使用 为该接口声明的运算符 (IEnumerable)。
这意味着不是将您的运算符转换为 SQL,而是让 服务器处理它,整个表将枚举(检索自 DB),然后在内存中进行操作。
正如@Scott Chamberlain 所说,我的回答与您的代码无关,因为它使用 DataTable,而不是 IQueriable
。
AsEnumerable
只是为 DataTable
创建可枚举的包装器,它一次检索每一行,并允许您在 DataTable
上使用 LINQ。这与异常无关。
另一件事,调用ToList
会强制执行查询,因此不会延迟执行。
要回答您有关异常的问题,如果您提供向查询添加参数的代码会很有帮助。
【讨论】:
他没有IQueryable
他有DataTable
,他呼叫的AsEnumerable()
是this version 不是this version以上是关于python的这段代码怎么运行的主要内容,如果未能解决你的问题,请参考以下文章
php如何用urlencode()我下面所写的这段代码进行中文加密?
需要知道使用 AsEnumerable 的这段代码的工作原理