簡體   English   中英

如何為 Python(調試器)設置 Visual Studio Code 標准輸入/標准輸出重定向?

[英]How to setup Visual Studio Code stdin/stdout redirection for Python (debugger)?

我正在使用 Visual Studio Code 來調試我的 Python 代碼。

我想在stdin重定向一個文本文件,並將輸出寫入另一個文件。

我可以通過使用以下語法直接運行 python 來實現:

python code.py < input.txt > output.txt

有沒有辦法在調試腳本時允許這樣做? 如果這是不可能的,我可以創建一個配置來使用該參數運行 python。 我嘗試在launch.json使用args參數,但這些參數都放在引號中,這違背了重定向的目的。

我能夠使用launch.json配置文件中的args參數實現這一點:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387

    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Aktuelle Datei",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "args": [ "<", "input.txt",
                 ">", "output.txt" ]
        }
    ]
}

運行調試器時,您會看到以下命令行:

bash-3.2$  env DEBUGPY_LAUNCHER_PORT=51669 /usr/local/opt/python/bin/python3.7 /Users/XXXX/.vscode/extensions/ms-python.python-2020.4.76186/pythonFiles/lib/python/debugpy/wheels/debugpy/launcher "/Users/XXXX/my_script.py" < input.txt > output.txt 

視覺工作室代碼 1.45
macOS 10.14.6

沒有任何內置解決方案,但是如果您修改您的應用程序以將sys.stdinsys.stdout替換為您希望被視為stdinstdout您可以獲得相同的效果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM