如何在一个py程序里执行另一个py程序?
在搜索引擎上搜过,未果
问题的详细描述:假设在桌面有一个“A.py”,当A.py被运行的时候会自动打开“B.py”(不在桌面,而是在其他路径,并且这个路径已知)。
实现效果类似于如下代码:
<span class="kn">import</span> <span class="nn">os</span> <span class="n">start_dire</span> <span class="o">=</span> <span class="s">r"E:\*.txt"</span> <span class="n">os</span><span class="o">.</span><span class="n">system</span><span class="p">(</span><span class="s">"explorer.exe </span><span class="si">%s</span><span class="s">"</span> <span class="o">%</span><span class="n">start_dire</span><span class="p">)</span>
回复内容:
考虑到题主是新手,我就多说几个方法0. runpy.run_path('my_awesome_program.py')
首选这个方法,全平台通用
1. 直接import那个文件(如果那个文件没加__name__=='__main__'判断的话),如果文件名是变量的话,用__import__('my_awesome_program')
2. os.startfile('my_awesome_program.py')
这是windows-only的,自己用用还行,稍微大一点的项目就别用了
3. os.system('python "%s"' % 'my_awesome_program.py')
但如果对方电脑的python不在%path%里就挂了,因此还是仅限自己用
4.用subprocess,命令行同上,用法请自行百度或者查文档
同样也仅限自己用
5. 你试试execfile('my_awesome_program.py'),我没试过,不确定行不行
UPDATE: 我试过了,可以,好像这个也是全平台通用的。 Python不知道,不过Perl语言有一个内置变量$^X,其内容是正在执行当前脚本的Perl解释器的路径。可以用那个变量的内容去执行另一个Perl脚本:
system($^X, "another_script.pl");
1. 把B.py所在的路径加入系统路径:
<span class="kn">import</span> <span class="nn">sys</span> <span class="n">sys</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">append</span><span class="p">(</span><span class="s">'E:/'</span><span class="p">)</span> <span class="kn">import</span> <span class="nn">b</span> <span class="n">b</span><span class="o">.</span><span class="n">foo</span><span class="p">()</span>
还可以通过import来执行其他文件里的代码

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Windows 11 の Explorer.exe の CPU 使用率が高くなる問題とは異なり、コンピューターの CPU 使用率が高くなる場合があります。これは、めったに発生せず、PC のパフォーマンスに大きな影響を与えない限り、まったく正常です。ただし、これが繰り返し発生すると問題が発生する可能性があります。システムが熱くなり、読み込み時間が遅れ、重要なタスクに取り組んでいるときにフリーズする可能性があります。 Explorer.exe を使用すると、コンピューターの CPU 使用率が高くなるのはなぜですか?通常、次のいずれかの理由により、コンピュータの CPU 使用率が高くなることがあります。 より高い CPU 要件を必要とするプログラムの実行: ビデオ編集ソフトウェアやゲーム ソフトウェアにより、CPU 使用率が高くなる可能性があります。で公開された場合

Docker の起動に失敗した場合の解決策: 1. 実行ステータスを確認し、「echo 3 > /proc/sys/vm/drop_caches」コマンドを使用して占有メモリを解放します; 2. 「$netstat -nltp|grep .. .」を使用します。 「」コマンドでポートが占有されているかどうかを確認します。オンライン後に占有されていることが判明した場合は、空いているポートに変更して再起動してください。

Internet Explorer が長い間人気がなくなってきたことは周知の事実ですが、Windows 11 の登場により現実が始まりました。 Edge は、将来的に IE を置き換えるのではなく、現在 Microsoft の最新オペレーティング システムのデフォルトのブラウザーとなっています。現時点では、引き続き Windows 11 で Internet Explorer を有効にすることができます。ただし、IE11 (最新バージョン) の正式な廃止日は 2022 年 6 月 15 日であり、時間は刻々と過ぎています。これを念頭に置くと、Internet Explorer が Edge を開くことがありますが、それが気に入らないことに気づいたかもしれません。では、なぜこのようなことが起こっているのでしょうか?存在する

Explorer.exe アプリケーション エラーの解決策: 1. キーボードの「win」+「R」キーの組み合わせを押し、開いた実行ウィンドウにコマンド「inetcpl.cpl」を入力します。2. 「詳細設定」を選択します。カードの上のオプションで、下の「リセット」をクリックします; 3. ポップアップウィンドウで「個人設定の削除」にチェックを入れ、下の「リセット」をクリックします。上記の操作で問題が解決しない場合は、コンピュータにトロイの木馬が存在していないか確認し、システムを再インストールし、オリジナルまたは純粋なバージョンのシステムをインストールすることをお勧めします。

こんにちは、私の名前はsomenzzです。鄭兄弟と呼んでください。 Python のインポートは非常に直感的ですが、それでも、パッケージがそこにあるにもかかわらず、ModuleNotFoundError が発生することがあります。明らかに、相対パスは非常に正しいですが、エラー ImportError:attemptedrelativeimportwithnoknownparentpackage により、同じディレクトリにモジュールがインポートされ、別のものです。ディレクトリのモジュールは完全に異なります。この記事は、インポートの使用時によく発生するいくつかの問題を分析することで、インポートを簡単に処理するのに役立ちます。これに基づいて、属性を簡単に作成できます。

Windows タスク マネージャー Windows を長年使用している場合は、オペレーティング システムのいくつかのプロセスまたは機能がファイル エクスプローラーに関連付けられていることをご存知でしょう。 Explorer.exe はファイル管理にのみ関連付けられるべきですが、タスク バーなどの Windows エクスペリエンスの他の部分にも関連付けられるため、パフォーマンスが良くありません。 Microsoft は、タスクバーや通知センターなどの機能をエクスプローラー (explorer.exe) から分離する措置を講じています。デスクトップとexplorer.exeの統合は、オペレーティングシステムのボトルネックの1つです。リソースを大量に消費するファイル操作により、タスクバーなどの無関係なタスクが詰まる可能性があるからです。

Microsoft は、Windows 10 オペレーティング システムのほとんどのバージョンで Internet Explorer 11 Web ブラウザーを廃止すると発表しました。昨日、Microsoft は Internet Explorer 11 のサポートが 2022 年 6 月 15 日に終了することを通知しました。 Windows Release Health Web サイトのメッセージは、Internet Explorer 11 がデスクトップ アプリケーションとして終了することをユーザーと管理者に通知します。のように

2022 年 6 月 15 日は、Microsoft が Internet Explorer 11 (IE11) のサポートを終了し、レガシー ブラウザーの章を閉じる日です。同社はしばらくの間、このサポート終了日をユーザーに通知し、Microsoft Edge への移行を計画するよう呼び掛けてきました。 Microsoft は、Windows の最新のデフォルト Web ブラウザとして IE11 を Windows 8.1 にバンドルしています。 Chrome の(現在の)高さには決して達しませんでしたが、2014 年には IE8 に次いで 2 番目に使用されたデスクトップ ブラウザーでした。もちろん20個でも
