如何从Python脚本持久修改Windows环境变量?(这是setup.py脚本)
我正在寻找一个标准功能或模块用于此目的.我已经熟悉了注册表的方式,但是对此也有任何意见.
有很多国际象棋AI,显然有些足以击败一些世界上最伟大的球员.
我听说很多尝试都是为棋盘游戏Go编写成功的AI ,但到目前为止,没有人想到超出一般的业余水平.
可能是在Go中任何给定时间以数学方式计算最优运动的任务是NP完全问题吗?
int main()
{
int var = 0;; // Typo which compiles just fine
}
Run Code Online (Sandbox Code Playgroud) 在实现存根等时,您希望避免使用"未使用的变量"警告.多年来,我遇到过UNUSED()宏的一些替代方案,但从来没有一个被证明适用于"所有"编译器,或者标准是气密的.
或者我们为每个构建平台坚持使用#ifdef块?
编辑:由于非c兼容替代品的许多答案,我想澄清我正在寻找一个对C和C++,所有口味等都有效的定义.
我想使用VC++枚举Windows中所有可用的驱动器号(尚未使用).
我怎样才能做到这一点?
我非常喜欢数据库设计以及语义管理数据的整个概念以及随之而来的所有逻辑.
然而,我对数据库的知识水平(我猜)非常基础 - 我可以使用ER图,连接表,处理多对多,一对多等来正确建模数据关系.我有经验当谈到编程时,我认为我的数据库知识就像了解面向对象编程的基础知识,即如何建模汽车类,继承车辆类,包含车轮对象等等.
现在我想进一步了解关系数据库,以便我可以自信地向雇主说我可以在专业水平上处理这个问题.
我现在所能处理的可能就是我个人网站后端的电影数据库,如果我是亚马逊并且不得不存储数百万部电影,这可能会崩溃.那么可扩展性的主题是什么?我确信在数据库设计中有一个非常"标准"的主题/概念阵列,如果你打算在专业级别上使用数据库,你必须理解并能够应用于现实生活中.
所以,如果该领域的任何数据库专家可以命名某些领域,概念,案例研究或任何有利于研究以获得真正擅长数据库的东西,我将非常感激.我相信这里潜藏着巨大的科学,我想要它.
提前致谢!
在某些使用C/C++的情况下,我可以在语法上向编译器指示故意忽略返回值:
int SomeOperation()
{
// Do the operation
return report_id;
}
int main()
{
// We execute the operation, but in this particular context we
// have no use of the report id returned.
(void)SomeOperation();
}
Run Code Online (Sandbox Code Playgroud)
我发现这是一个公平的做法,首先是因为大多数编译器不会在这里产生警告,其次是因为它向未来的开发人员明确表明作者有意识地选择忽略回报.它使作者的思想痕迹不含糊.
据我所知,C#编译器不会抱怨隐式忽略的返回值,但我想知道是否有类似的约定用于向其他开发人员明确指示.
回答这里的一些人质疑这个约定的实际使用(或者它会显示糟糕的设计以使方法具有潜在的不重要的返回值).
一个真实的.NET示例(我可能应该从一开始就基于问题)是Mutex::WaitOne()不带参数的重载.只有在安全获取互斥锁时它才会返回,否则它永远不会返回.布尔返回值是针对其他重载的,您可能在返回时最终没有拥有互斥锁.
所以在我的推理中,我想在我的多线程代码中指出我已经选择忽略返回:
Mutex mtx = new Mutex();
(void)mtx.WaitOne();
Run Code Online (Sandbox Code Playgroud)
因为返回值永远不会是任何东西true.
想象一下典型的应用程序类型,其中包含具有不同属性的项目列表.如树视图与100个项目,每个都具有一个名称,一个等级,一个等级中最炙手可热的项-上的行星等等大概也有不少之间对多的关系,项目和本期特价货品目录,或项目和项目创建者之间等.
现在这个应用程序自然需要一个过滤系统 例如,我可以在不同关系中的数据之间构建具有多种条件的复杂过滤器.
编写这样一个过滤功能的设计任务应该是许多开发人员所做的事情,并且肯定必须有某种最适合该任务的设计模式.
任何人?
编辑:切换到社区维基,因为我怀疑没有任何行业de因素模式用于此.我猜这个问题太普遍了.
我的背景是C和C++.我非常喜欢Python,但是当你习惯于编译语言时,它的一个方面(以及我猜的其他解释语言)真的很难用.
当我用Python编写一些内容并且可以运行它时,仍然无法保证不会出现特定于语言的错误.对我而言,这意味着我不能完全依赖我的运行时防御(严格测试输入,断言等)以避免崩溃,因为在6个月内,当一些其他好的代码最终运行时,它可能会因为一些愚蠢的错误而破解.
显然,系统应该经过足够的测试,以确保所有代码都已运行,但大部分时间我都使用Python作为内部脚本和小工具,这些内容永远不会得到他们所需的QA关注.此外,一些代码非常简单(如果您的背景是C/C++),您知道只要编译它就会正常工作(例如,类中的getter-methods,通常是成员变量的简单返回).
所以,我的问题是显而易见的 - 有什么方法(使用特殊工具或其他东西)我可以确保我的Python脚本中的所有代码都将"编译"并运行?
我问这个是因为我发现分发类定义是一个非常危险的特性,所以你不能确定你是否知道它的全部内容.即使我找到三个部分定义,我怎么知道某个地方没有第四个?
我是C#的新手但是已经花了10年时间使用C++,也许这就是为什么我被动摇了?
无论如何,"部分"概念必须有一些很大的好处,我显然不知道.我想更多地了解它背后的哲学.
编辑:对不起,在搜索现有帖子时错过了这个副本.