色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

解決python便攜版無法直接運行py文件的問題

瀏覽:6日期:2022-07-12 15:38:32

關聯:windows下無前綴直接運行.py文件

關聯:便攜版python無法直接運行python腳本的問題

癥狀:直接運行py腳本發現無法傳遞參數。

在python便攜版可正常使用的情況下,python sqlmap.py - u xxx 可正常使用

指定py文件使用python.exe打開時,直接運行 sqlmap.py - u xxx 發現無法傳遞參數。

解決python便攜版無法直接運行py文件的問題

原因:注冊表鍵值中缺少傳遞參數

指定便攜版python打開py腳本時,注冊表中打開方式鍵值中少了傳遞參數的功能

本需要 C:/python路徑/python.exe “%1” %* ,其中'%1' %* 起傳遞參數的作用。

但是注冊表中只加入了 “C:/python路徑python.exe” “%1” ,因此,無法直接運行py腳本

示例:能夠正常使用的注冊表

HKEY_CLASSES_ROOT.py

解決python便攜版無法直接運行py文件的問題

HKEY_CLASSES_ROOT.py_auto_fileshellopencommand

解決python便攜版無法直接運行py文件的問題

HKEY_CLASSES_ROOTApplicationspython.exeshellopencommand

解決python便攜版無法直接運行py文件的問題

修復

第一步:先指定py文件的打開方式。

右擊py文件——>找到python.exe——>勾選始終使用此應用打開.py文件。

解決python便攜版無法直接運行py文件的問題

修復注冊表

新建python.reg 內容如下:【注意:其中C:Program_BasePython37python.exe是我的python路徑,注冊表文件中需要斜杠轉義特殊字符】

-----------------我是分割線----------------------Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT.py]@='.py_auto_file'

[HKEY_CLASSES_ROOT.py_auto_file][HKEY_CLASSES_ROOT.py_auto_fileshell][HKEY_CLASSES_ROOT.py_auto_fileshellopen][HKEY_CLASSES_ROOT.py_auto_fileshellopencommand]@='“C:Program_BasePython37python.exe” “%1” %*'

[HKEY_CLASSES_ROOTApplicationspython.exe][HKEY_CLASSES_ROOTApplicationspython.exeshell][HKEY_CLASSES_ROOTApplicationspython.exeshellopen][HKEY_CLASSES_ROOTApplicationspython.exeshellopencommand]@='“C:Program_BasePython37python.exe” “%1” %*'-----------------我是分割線----------------------

修復結果:OK

解決python便攜版無法直接運行py文件的問題

擴展:python2-3腳本共存問題

問題:

這里有一個py腳本的調用問題,因為目前python2還有一點需求,選擇打開方式是選python2還是選python3?默認同時肯定只有一個生效的

例如:

如果選的默認打開方式是python3的exe, 那么【sqlmap.py ? u xxx】 肯定是調用python3執行py腳本

解決思路:

把python2的腳本改成.py2 ,然后按上述操作改改注冊表

詳細步驟:

1、先指定.py2文件的打開方式。2、導入注冊表文件python2.reg

新建python2.reg 內容如下:

【注意:其中C:Program_BasePython27python.exe是我的python2路徑,注冊表文件中需要斜杠轉義特殊字符】

-----------------我是分割線----------------------Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT.py2]@='.py2_auto_file'

[HKEY_CLASSES_ROOT.py2_auto_file][HKEY_CLASSES_ROOT.py2_auto_fileshell][HKEY_CLASSES_ROOT.py2_auto_fileshellopen][HKEY_CLASSES_ROOT.py2_auto_fileshellopencommand]@='“C:Program_BasePython27python.exe” “%1” %*'-----------------我是分割線----------------------

#缺少的部分屬于重復部分可以忽略,

實際刪除[HKEY_CLASSES_ROOTApplicationspython2.exe]鍵值對,也能夠正常運行python sqlmap.py -h 和sqlmap.py -h 。

補充知識:Python學習之安裝目錄下的python.exe與pythonw.exe文件的區別

python.exe在運行程序的時候,會彈出一個黑色的控制臺窗口(也叫命令行窗口、DOS/CMD窗口);

pythonw.exe是無窗口的Python可執行程序,意思是在運行程序的時候,沒有窗口彈出,代碼在后臺執行。

.py和**.pyw**文件的區別也來源于python.exe和pythonw.exe的區別:

安裝 Windows 版 Python 時,擴展名為 .py 的文件被默認為用 python.exe 運行的文件,而 .pyw 文件則被默認為用 pythonw.exe 運行。

.pyw 格式是被設計用來運行開發的純圖形界面程序的,純圖形界面程序的用戶不需要看到控制臺窗口。在開發純圖形界面程序的時候,可以暫時把 .pyw 改成 .py ,運行時能調出控制臺窗口,方便看到所有錯誤信息。

至于.pyc文件,是Python解釋器運行程序的過程中產生的字節碼文件(也就是中間生成的文件)。

這里還要解釋一個問題,如果.py文件直接用python.exe打開,文件被執行完成之后,視窗會立即關閉,如果想讓視窗停留,給大家提供兩個方法:

①可以在程序中import time模塊,加入超長睡眠語句,如time.sleep(1800),如果你不手動關閉視窗,視窗將會停留30min;

②可以調用sys和os模塊,使用命令行語句pause(個人覺得有些牛刀殺雞的感覺)。

以上這篇解決python便攜版無法直接運行py文件的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 成人男女网18免费看 | 欧美视频精品在线观看 | 成人亚洲精品7777 | 娇小性色xxxxx中文 | 最新国产精品视频免费看 | 日韩一级特黄毛片在线看 | 日本三级香港三级人妇gg在线 | 国产成人mv 在线播放 | 日本在线观看不卡 | 亚洲日本欧美综合在线一 | 亚洲国产精品国产自在在线 | 成年女人色毛片免费 | 亚洲精品日韩专区在线观看 | 国产精品无码久久久久 | 亚洲精品久久久久久久久久久网站 | 欧美视频一区在线观看 | 成年人免费网站在线观看 | 国产不卡在线观看视频 | 国产精品久久久久久麻豆一区 | 黄网在线免费 | 亚洲精品国产字幕久久不卡 | 狠狠色综合网站久久久久久久 | 欧美成人一区二区三区 | 久久久久久久99精品免费 | 男女视频在线免费观看 | 国产精品久久久久久久久久影院 | 香蕉依依精品视频在线播放 | 114一级毛片免费观看 | 一区在线免费 | 国产三级精品在线观看 | 精品欧美一区二区在线看片 | 粉嫩jk制服美女啪啪 | 欧美日本一区 | 91久久精一区二区三区大全 | 欧美成人免费网在线观看 | 国产男女爽爽爽爽爽免费视频 | 亚洲操综合| 欧美性狂猛bbbbbbxxxxxx | 日韩在线一区二区三区免费视频 | 国产一级毛片网站 | 亚洲精品一二三四区 |