我知道这里有一个类似的问题,但我遇到了另一个问题。
我在插件中有一些代码文件,但插件只使用软件知道的内部路径,因此我无法访问该路径以将其与execfile
一起使用。
但是有一个名为readInternalFile (path)
的内部python函数,我可以使用这个内部路径,它将该文件的内容作为字符串返回。
所以我想我可以使用标准的python函数exec
,但是一旦我这样做,就会抱怨第一行是'\ r \ n'。
我该如何解决这个问题?我打印数据类型readInternalFile
返回,它是str
,所以一切都应该没问题,对吗?
文件中的代码单独工作,没有语法错误等。
答案 0 :(得分:0)
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是一个坏主意......
如果您切换结束编码,这也会中断....