【问题标题】:Unexpected character after continuation character连续字符后出现意外字符
【发布时间】:2015-01-17 15:47:10
【问题描述】:

我是使用 Python 的新手,并且似乎遇到了一个问题,无论我搜索什么,无论我尝试什么,仍然存在。

我正在尝试使用exec 函数执行系统命令。

我尝试了以下方法:

exec("/usr/sbin/something --arg")

返回无效语法,光标位于第一个 /

我试过了

exec("\\usr\\sbin\\something --arg")

在这种情况下,它会在续行字符和我的参数g 的最后一个字符上的光标上返回意外字符。

过去一个小时我一直在寻找解决方案,但没有任何帮助。我怎样才能简单地执行此命令而不会引发错误?

是的,我的行尾是正确的。

【问题讨论】:

    标签: python string


    【解决方案1】:

    也许可以尝试在字符串前面放一个r,这样它就变成了exec(r"\\usr\\sbin\\something --arg")

    【讨论】:

    • 我实际上尝试同时使用rR。错误没有变化。
    • 在字符串文字前放置一个r 使其成为raw-string,这仅仅意味着不处理转义序列。但这在 OP 的情况下是不必要的,因为他已经逃脱了所有的反斜杠。
    【解决方案2】:

    exec 用于执行表示为字符串或代码对象的Python 代码。来自docs

    exec(object[, globals[, locals]])

    此函数支持 Python 代码的动态执行。 object 必须是字符串或代码对象。如果是字符串,则将字符串解析为一组 Python 语句,然后执行(除非出现语法错误)。

    要执行系统命令,可以使用os.system:

    import os
    os.system("/usr/sbin/something --arg")
    

    【讨论】:

    • :/ 真的...希望我早点知道... :D 谢谢! 编辑成功了,我会接受的。
    • 再次感谢老兄!编码愉快!
    猜你喜欢
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多