subprocess.Popen doesn't properly escape < or > for windows batch files
Đang mở
Chưa có ai nhận issue này.
OS-windows
stdlib
topic-subprocess
type-bug
- Ngôn ngữ chính
- Python
- Star
- 77.2k
- Fork
- 35.9k
- Chỉ số merge pull request
- Chỉ số pull request đang chờ
Mô tả
Bug report
Bug description:
subprocess.Popen doesn't properly escape < or > for windows batch files
example.bat
echo %*
example.py
import subprocess
from pathlib import Path
batch_file = Path().cwd() / 'example.bat'
subprocess.Popen([batch_file, 'arg1', 'arg2<99'])
Error
The system cannot find the file specified
Adding a space causes it to be correctly escaped:
subprocess.Popen([batch_file, 'arg1', 'arg2 <99'])
CPython versions tested on:
3.13
Operating systems tested on:
Windows
Linked PRs
- gh-134544
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu với lệnh gọi subprocess.Popen được báo cáo trong example.py và tái hiện nó trên Windows bằng example.bat với đối số arg2<99, sau đó so sánh với đối số có chứa dấu cách. Kiểm tra PR gh-134544 được liên kết để biết trạng thái hiện tại của công việc; được xem là hoàn thành khi trường hợp không có dấu cách được escape đúng cách và hồi quy được bao phủ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- operating-systems
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 25/100