python脚本有什么问题?

Zyg*_*tas 0 python windows-xp program-entry-point indentation

python脚本有什么问题?

码:

import os    
import shutil
import getpass    
os.mkdir("C:\\dtmp") 

shutil.copy("C:\\path\\to\\bb-freeze-script.py","C:\\dtmp")
os.chdir("C:\\dtmp")
shutil.copy("C:\\path\\to\\main.py","C:\\dtmp")
os.system("python bb-freeze-script.py main.py")

os.mkdir("C:\\Program Files\\Directories v0.6")
os.chdir("C:\\")
shutil.rmtree("C:\\dtmp")

print getpass.getuser()
Run Code Online (Sandbox Code Playgroud)

错误:

Traceback (most recent call last):
  File "bb-freeze-script.py", line 8, in <module>
    load_entry_point('bbfreeze==0.97.3', 'console_scripts', 'bb-freeze')()
  File "C:\Python27\lib\site-packages\bbfreeze-0.97.3-py2.7-win32.egg\bbfreeze\__init__.py", line 24, in main
    f.addScript(x)
  File "C:\Python27\lib\site-packages\bbfreeze-0.97.3-py2.7-win32.egg\bbfreeze\freezer.py", line 410, in addScript
    s = self.mf.run_script(path)
  File "C:\Python27\lib\site-packages\bbfreeze-0.97.3-py2.7-win32.egg\bbfreeze\modulegraph\modulegraph.py", line 241, in run_script
    co = compile(file(pathname, READ_MODE).read()+'\n', pathname, 'exec')
  File "C:\dtmp\main.py", line 14
    ^
IndentationError: expected an indented block
Run Code Online (Sandbox Code Playgroud)

操作系统 - Windows XP

Kat*_*iel 11

这是关于如何阅读回溯的快速演练.这很容易.

  • 查看代码,所有这些都是调用Python内置模块.可以肯定地说它们没有引起错误,所以唯一剩下的就是os.system通话.果然,你正在python通过这个电话打电话(你为什么不只是导入你要打电话的模块?).

  • 回溯确认错误发生在您正在调用的其他Python中:

    Traceback (most recent call last):
      File "bb-freeze-script.py", line 8, in <module>
        load_entry_point('bbfreeze==0.97.3', 'console_scripts', 'bb-freeze')()
    
    Run Code Online (Sandbox Code Playgroud)
  • 接下来,读取转录本的行以挖掘调用堆栈并找出错误发生的确切位置.

    File "C:\Python27\lib\site-packages\bbfreeze-0.97.3-py2.7-win32.egg\bbfreeze\__init__.py", line 24, in main
        f.addScript(x)
    File "C:\Python27\lib\site-packages\bbfreeze-0.97.3-py2.7-win32.egg\bbfreeze\freezer.py", line 410, in addScript
        s = self.mf.run_script(path)
    File "C:\Python27\lib\site-packages\bbfreeze-0.97.3-py2.7-win32.egg\bbfreeze\modulegraph\modulegraph.py", line 241, in run_script
        co = compile(file(pathname, READ_MODE).read()+'\n', pathname, 'exec')
    
    Run Code Online (Sandbox Code Playgroud)
  • 直到你到达

    File "C:\dtmp\main.py", line 14
    IndentationError: expected an indented block
    
    Run Code Online (Sandbox Code Playgroud)

你去了,错误是在第14行main.py,你应该有一个缩进但没有.

  • +1教授如何钓鱼而不是简单地提供晚餐. (3认同)