【问题标题】:I want to call my bingo.sh file through python in mac how to do that?我想在mac中通过python调用我的bingo.sh文件怎么做?
【发布时间】:2017-01-12 05:22:35
【问题描述】:

os.system('sh ~/scripts/bingo.sh') 这给出了非 ascii 字符的错误。

【问题讨论】:

  • 它对我来说很有效。你试过这个# -*- coding: UTF-8 -*-
  • 是的,我试过了,它现在给了我语法错误

标签: python macos shell


【解决方案1】:
import subprocess
subprocess.call(["sh","/full/path/bingo.sh"])

【讨论】:

  • 它在无效语法 subprocess.call(["sh","/full/path/bingo.sh"]) 的方括号后给我一个无效语法错误
  • @SaddamHk 嗯,我运行它没有问题。您是否将 /full/path/bingo.sh 更改为文件系统上的实际位置?
  • 你给了它完整的路径如下 subprocess.call(["sh","/Users/Saddam.Khattak/trytry/bingo.sh"])
  • 它现在可以工作了,非常感谢。我使用的是文本编辑器,因此它给出了语法错误,但是当我在 Python 空闲时使用相同的命令时,它现在可以正常工作了
  • @SaddamHk 好消息!如果这是对您有用的解决方案,请您接受答案
【解决方案2】:

"Python 2 使用 ascii 作为源文件的默认编码,这意味着您必须在文件顶部指定另一种编码才能在文字中使用非 ascii unicode 字符。Python 3 使用 utf-8 作为默认编码源文件,所以这不是一个问题”

我可以通过谷歌搜索“Python error 'Non ascii characters'”找到这个 据我了解,这是一个很好的答案

How to make the python interpreter correctly handle non-ASCII characters in string operations?

希望这会有所帮助 (我是编码新手,正在研究这个问题,以帮助我自己理解如何为自己避免这个问题。我要说的话持保留态度。)

【讨论】:

    猜你喜欢
    • 2011-10-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多