作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道这里有一个类似的问题,但我遇到了一个不同的问题。
我在插件中有一些代码文件,但插件使用只有软件知道的内部路径,所以我无法访问该路径以将其与 execfile
一起使用。
但是有一个名为 readInternalFile (path)
的内部 python 函数,我可以在其中使用这个内部路径,它以字符串形式返回这个文件的内容。
所以我想我可以使用标准的 python 函数 exec
,但是我一这样做,它就提示第一行是 '\r\n'。
我该如何解决这个问题?我打印了 readInternalFile
返回的数据类型,它是 str
,所以一切都应该没问题,对吧?
文件中的代码自行运行,没有语法错误等。
最佳答案
s1 = readInternalFile(path)
statements = s1.split("\r\n")
for stmt in statements:
exec(stmt)
应该可以
>>> s1 = "a=32\r\nb=a+5\r\nprint b"
>>> statements = s1.split("\r\n")
>>> for stmt in statements:
... exec(stmt)
...
37
>>>
或者您可以将末尾替换为“;”像这样
>>> s1 = "a=32\r\nb=a+5\r\nprint b"
>>> s2 = s1.replace("\r\n",";")
>>> exec(s2)
37
我还应该提到通常使用 exec 是一个坏主意...
如果你切换你的终端编码,这也会中断......
关于python - 如何在 Python 中执行代码字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11695445/
我是一名优秀的程序员,十分优秀!