我有一个python应用程序,它有一个shell,需要根据它运行的shell是否为Windows Command Prompt (cmd)或进行一些设置Powershell.
我无法弄清楚如何检测应用程序是否正在运行powershell或cmd.
从我在stackoverflow和Google上的搜索,似乎唯一的方法是使用psutil查找父进程的名称.
有更好的方法吗?
编辑:我决定用来psutil查找父进程的名称.感谢所有在评论中提供帮助的人.
我编写了一个打印字符串的程序,该字符串包含ANSI转义序列以使文本着色.但它在默认的Windows 10控制台中无法正常工作,如屏幕截图所示.
程序输出显示为转义序列作为打印字符.如果我通过变量或管道将该字符串提供给PowerShell,则输出将按预期显示(红色文本).
如何才能实现程序打印彩色文本而无需任何解决方法?
这是我的程序源(Haskell) - 但语言不相关,只是这样你就可以看到如何编写转义序列.
main = do
let red = "\ESC[31m"
let reset = "\ESC[39m"
putStrLn $ red ++ "RED" ++ reset
Run Code Online (Sandbox Code Playgroud)