在搜尋引擎上搜過,未果
問題的詳細描述:假設在案頭有一個“A.py”,當A.py被啟動並執行時候會自動開啟“B.py”(不在案頭,而是在其他路徑,並且這個路徑已知)。
實現效果類似於如下代碼:
import osstart_dire = r"E:\*.txt"os.system("explorer.exe %s" %start_dire)
回複內容:
考慮到題主是新手,我就多說幾個方法
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");
先讀.py的檔案,然後使用eval函數執行.py的檔案內容,或者用import至少有兩種方法,假定b.py在E盤的根目錄:
1. 把B.py所在的路徑加入系統路徑:
import syssys.path.append('E:/')import bb.foo()
把explorer.exe換成python.exe試試
還可以通過import來執行其他檔案裡的代碼