小编blu*_*dog的帖子

无法解决Python argparse错误'对象没有属性'

当我运行此代码时,我得到了

AttributeError: 'ArgumentParser' object has no attribute 'max_seed'
Run Code Online (Sandbox Code Playgroud)

这是代码

import argparse
import ConfigParser

CFG_FILE='/my.cfg'

# Get command line arguments
args = argparse.ArgumentParser()
args.add_argument('verb', choices=['new'])
args.add_argument('--max_seed', type=int, default=1000)
args.add_argument('--cmdline')
args.parse_args()

if args.max_seed:
    pass

if args.cmdline:
    pass
Run Code Online (Sandbox Code Playgroud)

我的源文件名为"fuzz.py"

python argparse

9
推荐指数
1
解决办法
1万
查看次数

我可以在主导入文件中使用"from __future__ import unicode_literals"吗?

我正在创建一些必须在2.6,2.7和3.3下工作的演示Python脚本.

作为其中的一部分,每个模块都带有前缀

from __future__ import unicode_literals
Run Code Online (Sandbox Code Playgroud)

可以从每个模块中删除此指令并将其粘贴到通用导入文件中吗?

例如

# master.py
from __future__ import unicode_literals

# file1.py
import master

# file2.py
import master
Run Code Online (Sandbox Code Playgroud)

python

7
推荐指数
1
解决办法
1748
查看次数

将非托管unicode字符串编组到.net。高字符替换为问号

这可能是SWIG问题,也可能不是。

我正在尝试将值从C ++函数返回到std :: wstring到C#。返回的字符串包含普通的老式英语字符和希伯来字符。英文字符可以正常使用,但是希伯来语字符在某些时候会转换为问号符号。

我正在使用SWIG生成编组代码。使用调试器逐步完成所有工作,然后进入以下SWIG代码...

static string CreateWString([MarshalAs(UnmanagedType.LPWStr)]IntPtr cString) {
    string str = System.Runtime.InteropServices.Marshal.PtrToStringUni(cString);
    return str;
}
Run Code Online (Sandbox Code Playgroud)

在这一点上,str看起来很完美。

接下来,将其返回到SWIG生成的C ++代码,该代码将str作为void *返回。

然后void *在调用代码中再次成为.net字符串。在调用代码中,所有希伯来字符都是?分数。

任何想法是什么原因造成的?

编辑:

更多信息

一旦CreateWString返回到C ++调用程序,您可以看到调试器中的指针看起来像是带有?的ANSI字符串。标记。因此,似乎.net在返回给调用者之前对字符串执行了某种转换。听起来对吗?我该如何控制?

编辑2: 似乎我需要在返回类型CreateWString上执行MarshallAs,以阻止.net转换为TCHAR类型(?)

c# c++ swig

5
推荐指数
1
解决办法
1963
查看次数

什么是Pythonic编写自动关闭类的方法?

我是Python的菜鸟,但我写了一个这样的自动关闭函数..

@contextmanager
def AutoClose(obj):
    try:
        yield obj
    finally:
        obj.Close()
Run Code Online (Sandbox Code Playgroud)

我有三个类有一个Close()方法,可以使用此函数.这是最恐怖的解决方案吗?我应该自己在课堂上做些什么呢?

python

5
推荐指数
2
解决办法
558
查看次数

标签 统计

python ×3

argparse ×1

c# ×1

c++ ×1

swig ×1