まず、コンピューターのターミナルを開き、/ Volumes ディレクトリに入ります。今度は、U ディスクを挿入します。このディレクトリの下にマウントされていることがわかります。つまり、このディレクトリを一定の時間にスキャンするだけで済みます。このディレクトリに新しいフォルダーが表示されると、おそらく、 USB フラッシュドライブが挿入されました。
私の設計は次のようなもので、 time.sleep(3) 関数を使用してプログラムを実行し続け、3 秒ごとに /Volumes/ ディレクトリをチェックし、余分なフォルダーがある場合は別のフォルダーにコピーします。
タイトルが示すように、この「ウイルス」を完成させるのに実際に使用したのは 10 行だけです (実際には 11 行です。)。 USB に挿入してから 30 分後には、USB 内のディレクトリがすべてホーム ディレクトリに配置されていることがわかります。
このアイデアの実現可能性をテストするために非常に単純なスクリプトを作成しましたが、まだ問題があります。 USB フラッシュ ドライブ内のすべてのファイルをすぐにコピーできたのは、USB フラッシュ ドライブ内にファイルが 2 ~ 3 つしかなく、サイズが 15M を超えなかったためです。ターゲット USB ディスクに必要のない映画、音楽、ファイルが多数ある場合、プログラムはそれらをスキップし、.docx (.ppt ファイルなど) などの重要なものだけを選択するか、最近使用したファイルのみをコピーできる必要があります。変更されたファイルを削除するか、サイズが 5M を超えるすべてのファイルを除外します。 Python で実行できますか? もちろんです。
例を挙げてみましょう。
#特定のディレクトリに testwalk フォルダーを作成しました。ファイル file123.txt とフォルダー 123 の 3 つがあります。フォルダー 1 にはファイル file4.txt とフォルダー 4 があります。##さあ、テストしましょう
root には現在の場所が保存されます。./testwalk/ の下にあるすべてのフォルダーがルート ディレクトリとして使用されます。下に検索します
ディレクトリを個別に表示
##ファイルを個別に表示
さて、次は必要があります。 USB フォルダーを再帰し、すべてのファイルを見つけてサイズを確認し、サイズがたとえば 3M より小さい場合はホームにコピーし、大きい場合は破棄します。
今のフォルダーを例に、file1.txt をフォルダー 2 にコピーしたい場合:
shutil には他にも多くのツールがありますが、ここでは詳しく説明しません。
# shutil.copy2 と組み合わせると、選択したサイズのファイルをターゲット フォルダーにコピーできます。
ファイルの種類を指定する方法
# をインポートすることを忘れないでください。
# #ファイルの種類をより適切に指定するには、より複雑な正規表現を使用します変更時刻に基づいてファイルをフィルタリングします以上がUSB フラッシュ ドライブを接続して Python コードの実行を開始する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。