開發環境:
python3.6.8
寫了個截取視頻幀的python小工具,編譯成exe后,在cmd里面呼叫exe ( video_capture.exe -f "e:\視頻\abc.mp4" )的時候,輸入的exe引數 檔案的路徑里面包含中文就會決議不了,python的命令列包用的是argparse
在cmd里執行 video_capture.exe -f "e:\視頻\abc.mp4"就會回傳代碼里的"Fail"提示,要是 -f "e:\video\abc.mp4"就是正常的顯示。
請教各位大神,是不是argparse的命令列引數不接受中文,這個問題有解決方法嘛?
import argparse
import sys
import os
from cv2 import cv2 as cv2
if __name__ == '__main__':
parser = argparse.ArgumentParser(description="視頻鏡頭關鍵幀自動標記工具")
parser.add_argument("--version", "-v", help="版本號", action='version', version="%(prog)s version: v 0.0.1")
parser.add_argument("--file", "-f", help="視頻檔案路徑", type=str)
args = parser.parse_args()
video_file_path = args.file
if video_file_path is None:
video_file_path = input("請輸入檔案路徑") #如果在cmd里面不輸入argparse的引數,直接通過這里輸入的中文檔案路徑又是正常
video = cv2.VideoCapture(video_file_path)
if video.isOpened():
print(video_file_path)
else:
print("Fail")
uj5u.com熱心網友回復:
搬運:知憾訓答:
Python 3.x 使用 opencv 無法讀取中文路徑如何解決? https://www.zhihu.com/question/67157462/answer/251754530
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/147572.html
