关于python:在循环中运行.py文件

Running a .py file in a loop

我目前正在尝试运行一个.py文件,但是在一个循环中。只是为了测试我用的

1
2
3
4
5
I = 0
while I<10:
    os.pause(10)
    open(home/Tyler/desktop/test.py)
    I = I + 1

我相信这是一个非常简单的问题,但我想不出这个问题。我还想在最后加上一点,我必须使这个无限地运行,并让它运行一些其他的事情。


您的代码不起作用的原因有几个:

  • 不正确的缩进(但这可能只是您将其复制到stackoverflow的方式)。
  • 使用os而不导入。
  • 不使用引号作为字符串。
  • mis使用open功能;open打开一个文件进行读取和/或写入。要执行文件,您可能需要使用os.system
  • 这里有一个版本应该可以工作:

    1
    2
    3
    4
    5
    6
    7
    import os

    i = 0
    while i < 10:
        os.pause(10)
        os.system("home/Tyler/desktop/test.py")
        i += 1


    • python对缩进敏感,代码缺少缩进在while声明之后!

    • 运行open命令将不会运行python脚本。你可以阅读文档中的操作:https://docs.python.org/2/tutorial/inputout.html读写文件

    • 这个堆栈溢出问题讨论了如何运行存储在另一个文件中如何使一个python文件运行另一个?

      我建议包装要在函数中运行的代码,例如

      1
      2
       def foo():
           print 'hello'

      然后把它保存在foo.py中。从主脚本中,您可以执行以下操作:

      1
      2
      3
      4
      5
      6
      import foo

      i = 0
      while i < 10:
          foo.foo()
          i += 1
    • 如果要在无限循环中运行某个对象,则需要while循环始终为真的条件:

      1
      2
      while True:
          # do thing forever

    • 关于导入的注意事项:如果foo.py文件与主python文件在同一目录中,那么我给出的示例将有效。如果不是,那么您应该在这里阅读一下如何创建Python模块http://www.tutorialspoint.com/python/python_modules.htm