我很可能错过了一些真正容易的东西,但我不明白为什么那些似乎对其他人都有效的东西对我却不有效。
目标:我想用非英语字符的本地输出运行shell命令,在变量中捕获输出,然后打印到屏幕。问题:所有我的输出应该有非英语字符被替换为?
思考:编码有问题吗?我正在运行Python3.8,不应该!!同样运行Windows10,但也发生在Windows7和Server2008中。
>>> p=subprocess.run("dir",shell=True,encoding="utf8")
Volume in drive C has no label.
Volume Serial Number is A22B-FA10
Directory of C:\Users\jeronimo\Documents\Github
04/24/2021 08:17 AM <DIR> .
04/24/2021 08:17 AM <DIR> ..
07/21/2020 09:37 PM <DIR> scripts
04/24/2021 08:09 AM <DIR> **Администратор**
1 File(s) 295 bytes
11 Dir(s) 151,978,950,656 bytes free
>>> p=subprocess.run("dir",capture_output=True,shell=True,encoding="utf8")
>>> p.stdout
' Volume in drive C has no label.\n Volume Serial Number is A22B-FA10\n\n Directory of C:\\Users\\jeronimo\\Documents\\Github\n\n04/24/2021 08:17 AM <DIR> .\n04/24/2021 08:17 AM <DIR>
..\n05/18/2020 01:24 PM scripts\n04/24/2021 08:09 AM <DIR> **?????????????**\n 1 File(s) 295 bytes\n 11 Dir(s) 151,976,796,160 bytes free\n'
>>> print(p.stdout)
Volume in drive C has no label.
Volume Serial Number is A22B-FA10
Directory of C:\Users\jeronimo\Documents\Github
04/24/2021 08:17 AM <DIR> .
04/24/2021 08:17 AM <DIR> ..
07/21/2020 09:37 PM <DIR> scripts
04/24/2021 08:09 AM <DIR> **?????????????**
1 File(s) 295 bytes
11 Dir(s) 151,976,796,160 bytes free
我尝试了子进程的许多变体--popen、run、check_output和call--都得到了相同的结果。我到底做错了什么?
也许先将命令的输出pipe/direct到一个文件,然后打开并读取该文件?
p=subprocess.run("dir > aa.txt",capture_output=True,shell=True,encoding="utf8")
问题内容: 我试图用Python编写程序,并被告知运行.exe文件。运行此.exe文件时,它会吐出大量数据,并且我需要在屏幕上打印出一定的行。我很确定我需要使用或类似的东西,但是我是子处理的新手,没有任何线索。有人有简单的方法让我完成此工作吗? 问题答案: 像这样:
问题内容: 是否可以从Shell脚本中的父进程ID获取子进程ID? 我有一个要使用Shell脚本执行的文件,这会导致一个新进程 process1 (父进程)。这个 过程1 已经分叉的另一个进程 过程2 (子进程)。使用脚本,我可以使用以下命令获取 process1 的pid : 但我无法获取子进程的pid。 问题答案: 只需使用:
是否可以从外壳脚本中的父进程ID获取子进程ID? 我有一个要使用shell脚本执行的文件,这会导致一个新的进程process1(父进程)。此进程1已经派生了另一个进程process2(子进程)。使用脚本,我可以使用以下命令获得进程1的pid: 但是我无法获取子进程的pid。
问题内容: 我对如何从ssh等终端子进程发送输入和接收输出有疑问。 我在Golang中找不到一个简单的示例,其工作原理与上述类似。 在Golang中,我想做这样的事情,但是似乎不起作用: 然而; 我不确定如何执行此操作,因为每次执行此ssh命令时,我只能获取输出。我无法通过代码自动输入密码。有没有人写过ssh等终端进程的示例?如果是这样,请分享。 问题答案: 由于上面的评论,我可以使用密码使用ss
问题内容: 我正在尝试运行可执行文件并使用;捕获其输出;但是,我似乎并没有获得全部输出。 手动打开时,它比原始exe文件少打印两行。 我尝试了一种具有相同结果的替代方法: 任何人都可以帮助我获取exe的完整数据吗? 正如塞巴斯蒂安的要求: 原始exe文件最后几行o / p: -Gdd:通用计数(1-1000) -Cdd:切割起始于(0-99)-Edd:切割终止于(1-100) 请在下面选择流文件编
问题内容: 我有: 当我在Linux中键入命令时,该命令有效。我懂了 我究竟做错了什么? 问题答案: 试试这个: