1

現在、ファイルを実行しようとしてい.pyますが、ループしています。私が使用しているテストのためだけに

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

これは非常に単純な質問だと確信していますが、これを理解することはできません。また、これを無限に実行させ、他の目的のために実行させる必要があることを最後に追加したいと思います。

4

2 に答える 2

4

コードが機能しない理由はいくつかあります。

  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
于 2016-03-14T21:42:41.807 に答える
2
  • Python はインデントに敏感で、whileステートメントの後のコードにインデントがありません!

  • コマンドを実行openしても、Python スクリプトは実行されません。ここのドキュメントで何をするかを読むことができます: https://docs.python.org/2/tutorial/inputoutput.html#reading-and-writing-files

  • このスタック オーバーフローの質問では、別のファイルに保存されている Python を実行する方法について説明しています

    実行したいコードを関数でラップすることをお勧めします。

     def foo():
         print 'hello'
    

    これを foo.py に保存します。メイン スクリプトから、次のことができます。

    import foo
    
    i = 0
    while i < 10:
        foo.foo()
        i += 1
    
  • 無限ループで何かを実行したい場合は、whileループが常に true になる条件が必要です。

    while True:
        # do thing forever
    
  • インポートに関する注意:上記の例は、foo.py ファイルがメインの Python ファイルと同じディレクトリにある場合に機能します。そうでない場合は、Python モジュールの作成方法についてこちらをお読みください http://www.tutorialspoint.com/python/python_modules.htm

于 2016-03-14T21:46:34.030 に答える