【问题标题】:Running a .py file in a loop循环运行 .py 文件
【发布时间】:2016-06-30 03:23:02
【问题描述】:

我目前正在尝试运行 .py 文件,但处于循环状态。 只是为了我正在使用的测试

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

我确信这是一个非常简单的问题,但我无法解决这个问题。 我还想在最后补充一点,我必须让它无限运行并让它运行其他一些事情。

【问题讨论】:

  • 你遇到了什么错误?
  • 我得回去看看
  • 当您在 StackOverflow 上发布问题时,包含您必须的任何错误通常会很有帮助,以便人们更容易地帮助您。
  • 顺便谢谢你这么快的回复。
  • 生病跑回来看看

标签: python python-2.7 while-loop raspberry-pi2 pause


【解决方案1】:

您的代码无法正常工作的原因有几个:

  1. 不正确的缩进(这可能只是您将它复制到 StackOverflow 上的方式)。
  2. 使用 os 而不导入它。
  3. 不对字符串使用引号。
  4. 误用open函数; open 打开一个文件进行读取和/或写入。要执行文件,您可能需要使用 os.system

这是一个应该可以工作的版本:

import os

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

【讨论】:

    【解决方案2】:
    • Python 对缩进敏感,您的代码缺少缩进 在while 声明之后!

    • 运行open 命令将不会运行 Python 脚本。你可以 在文档中阅读它在此处的作用: https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files

    • 这个堆栈溢出问题讨论了如何运行 Python 存储在另一个文件中 How can I make one python file run another?

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

       def foo():
           print 'hello'
      

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

      import foo
      
      i = 0
      while i < 10:
          foo.foo()
          i += 1
      
    • 如果你想在无限循环中运行某些东西,你需要 while 循环的条件始终为真:

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

    【讨论】:

    • 我将你的变量 I 更改为 i,因为通常认为在 python 中使用大写字母的变量是不好的,请参阅样式指南:python.org/dev/peps/pep-0008
    • 我打算将它用于两个程序,所以也感谢您的回复,因为您还解决了我的两个问题
    • 谢谢 TylerTotally :) 如果你喜欢我的回答,也许你可以给我一个赞;o
    • 没问题!显然,从我的重复和我的 python 编程能力来看,我对此很陌生。我的“母语”是 JavaScript,所以这是全新的领域
    • 祝你的 Python 之旅好运!在我看来,它比 JS 更容易阅读!给自己一点时间:)
    猜你喜欢
    • 2021-03-31
    • 1970-01-01
    • 1970-01-01
    • 2022-11-13
    • 2023-03-11
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 2017-09-16
    相关资源
    最近更新 更多