无法在python 3中导入字符串

无法在python 3中导入字符串,python,Python,我正在尝试运行此代码,但在导入字符串时,我收到以下错误: 有10种类型的人。 知道二进制代码的人和不知道二进制代码的人。 我说:%r。 回溯(最近一次呼叫最后一次): 文件“passgen1.py”,第3行,在 导入字符串 文件“D:\python\string.py”,第9行,在 打印(“我说过:%r.”%x TypeError:不支持%的操作数类型:'NoneType'和'str' 在string.py模块中,似乎有以下代码: 其评估如下: 执行print(“我说了:%r.),结果是值Non

我正在尝试运行此代码,但在导入
字符串时,我收到以下错误:

有10种类型的人。
知道二进制代码的人和不知道二进制代码的人。
我说:%r。
回溯(最近一次呼叫最后一次):
文件“passgen1.py”,第3行,在
导入字符串
文件“D:\python\string.py”,第9行,在
打印(“我说过:%r.”%x
TypeError:不支持%的操作数类型:'NoneType'和'str'

string.py
模块中,似乎有以下代码:

其评估如下:

  • 执行
    print(“我说了:%r.)
    ,结果是值
    None
    (因为
    print
    不返回任何内容)

  • 该值(即
    None
    )插入到上述表达式中,因此计算
    None%x
    。这会导致您看到错误消息

  • 看来你是想写:

    print ("I said: %r.") % x
    

    i、 例如,首先在字符串中插入
    x
    ,然后打印它。

    您的脚本名为string.py吗?您实际上是在尝试导入内置的
    字符串
    还是您自己的文件字符串?如果是内置的,则需要将文件名从string更改为string,因为它将隐藏内置的文件名。不管怎么说,这个文件似乎有问题……它在Python 2中可以工作,它将
    print(“我说:%r.)”)%x
    视为
    print”,我说:%r.%x
    。但在Python3中,它是不正确的,您必须在
    ()
    -
    打印(“我说:%r.%x)
    或在打印之前生成文本-
    text=“我说:%r.%x
    以及以后的
    打印(文本)
    print ("I said: %r.") % x
    
    print("I said: %r." % x)