#!/ usr / bin / env:そのようなファイルやディレクトリはありません

1.理由:WindowsでPythonスクリプトをLinuxに移動すると、ファイル形式が正しく保存されなかったため、UNIX形式で保存する必要があります。詳細な説明
2.解決策:vim xx.py入力:

:set fileformat=unix

次に、権限を付与します。

chmod a+x xx.py

最終実行:

./xx.py

3.Linuxで.pyファイルを実行する方法は2つあります。1。Pythonを
直接実行する。

python3 xx.py

2.スクリプトの実行:
注:このように、プログラムファイルの最初の行を#! /usr/bin/env python3
「スクリプトを実行するインタプリタを指定するに追加する必要があります。多くの人がシステムにPython2とPython3の両方をインストールしていますが、2と3はインストールされていません。互換性あり、スクリプトを実行するときにインタプリタを指定する必要があります。

./xx.py

4.例:
aa.py

#!/usr/bin/env python3
from threading import Thread
from time import sleep
import random
import os

class MyThreadSing(Thread):
    def run(self):
        for i in range(3):
            print('Sing...%d...%d'%(i,os.getpid()))
            sleep(random.random())

class MyThreadDancer(Thread):
    def run(self):
        for i in range(3):
            print('Dancer...%d...%d'%(i,os.getpid()))
            sleep(random.random())

if __name__=='__main__':
    sing=MyThreadSing(name='T-Sing')
    print(sing.name)
    print(sing.daemon)
    sing.start()

    dancer = MyThreadDancer(name='T-Dancer',daemon=True)
    print(dancer.name)
    print(dancer.daemon)
    dancer.start()


    #sleep(0.1)
print('game over...')

方法1:

[root@localhost demo01]# python3 aa.py 
T-Sing
False
Sing...0...18295
T-Dancer
True
Dancer...0...18295
game over...
Sing...1...18295
Dancer...1...18295
Sing...2...18295
Dancer...2...18295

方法2:

[root@localhost demo01]# chmod a+x aa.py 
[root@localhost demo01]# ./aa.py 
T-Sing
False
Sing...0...18310
T-Dancer
True
Dancer...0...18310
game over...
Sing...1...18310
Dancer...1...18310
Sing...2...18310


おすすめ

転載: blog.csdn.net/qq_34663267/article/details/109493334