我刚刚开始一个新的Python项目,理想情况下我想从一开始就提供Python 2和3支持,只需要很少的开发开销.我的问题是,为全新项目做这件事的最佳方法是什么?
作为安装脚本的一部分,我遇到了运行2to3甚至3to2的项目.这似乎是一种非常常见的方式.但是,似乎有几种不同的方法可以做到这一点.我也遇到了Distribute.
还可以选择编写多语言Python 2/Python 3代码.即使这看起来像一个可怕的想法,我注意到我最近编写的代码更像是Python 3代码,尽管我仍然以Python 2运行它.我有一种感觉这只会帮助我自己的过渡时这一天终于到来了,并没有为提供或至少帮助双重支持做多少.
我提供的大多数提供双重支持的项目都是后期添加了Python 3的支持,所以我特别好奇是否有更好的方法更适合新项目,你可以从中获得清晰的好处.
谢谢!
我想在我的代码中调用一个windows程序,并在代码本身内确定参数.
我不打算调用外部函数或方法,而是调用WinXP环境中的实际.exe或批处理/脚本文件.
C或C++将是首选语言,但如果使用任何其他语言更容易完成,请告诉我(ASM,C#,Python等).
混合使用不同的编程语言一直是我不太了解的事情.根据这篇维基百科的文章,外部函数接口(或FFI)可以通过以下几种方式完成:
- 要求以特定方式指定或实现要作为主机语言可调用的客户语言函数; 经常使用某种兼容性库.
- 使用工具使用适当的粘合代码自动"包装"客户语言函数,该代码执行任何必要的转换.
- 使用包装器库
- 限制可以跨语言使用的主机语言功能集.例如,从C调用的C++函数可能(通常)不包括引用参数或抛出异常.
我的问题:
它链接的一个来源说,实现FFI可以通过以下几种方式完成:
- 要求目标语言中的被调用函数实现特定协议.
- 实现一个包含给定低语言函数的包装器库,并用代码"包装"它以与高级语言约定进行数据转换.
- 要求声明为native的函数使用高级功能的子集(与低级语言兼容).
我想知道链接源中的第一种方式是否与维基百科中的第一种方式相同?
这个来源的第三种方式意味着什么?它与维基百科的第四种方式相对应吗?
是语言绑定和FFI等价概念?他们是如何相关和不同的?
从编程语言到库或OS服务的绑定是以该语言提供该服务的API.
我想知道维基百科的引文中的哪一种方式或以下每个例子所属的来源?
谢谢你的启示!最好的祝福!
我在我的服务器上使用psexec在另一台服务器上运行exe文件.如何将参数传递给其他exe?
我在我的服务器上运行的exe是psexec,而后者必须运行位于另一个系统上的名为vmtoolsd.exe的exe.如何将参数传递给vmtoolsd.exe?另外,我在哪里通过它?我会将它作为info.Arguments的一部分传递给我吗?我试过了,但它不起作用.
ProcessStartInfo info = new ProcessStartInfo(@"C:\Tools");
info.FileName = @"C:\Tools\psexec.exe";
info.Arguments = @"\\" + serverIP + @"C:\Program Files\VMware\VMwareTools\vmtoolsd.exe";
Process.Start(info);
Run Code Online (Sandbox Code Playgroud)
另外,作为info.Arguments的一部分,我必须在vmtoolsd.exe的路径前加上IP地址,然后是驱动器路径?
binding ×1
c ×1
c# ×1
c++ ×1
ffi ×1
psexec ×1
python ×1
python-2to3 ×1
python-3.x ×1
winapi ×1