提问人: 提问时间:8/19/2022 更新时间:8/21/2022 访问量:36
从 cmd 收集输出时出现问题
issue collecting output from cmd
问:
我正在尝试自动化一些取决于机器型号的东西,并使用其序列号进行检查。
目前,我正在尝试找到一种方法来获取序列号并保存它,以便我可以自动将其输入搜索栏(戴尔网站识别您的产品)
wmic bios get serialnumber >C:/test.txt
当我尝试运行它时,test.txt文件中没有显示任何内容
import os
os.system ('start cmd /k "wmic bios get serialnumber"')
当我尝试运行它时,它会返回 " 序列号 ABC123型 " 我只是不确定如何存储该信息以备后用。
答:
0赞
user16826661
8/19/2022
#1
最终代码(就我的问题而言)
import os
os.system('start cmd /k "wmic bios get serialnumber >C:\\Users\\Batman is better than Superman\\Desktop\\test.txt"')
因此,值得注意的是,要使文件路径正常工作,您必须使用 \\,因为您会在下面出现语法错误。我还必须将文件路径包含在单引号中,而不是在右括号之后。
(SyntaxError:(unicode 错误)“unicodeescape”编解码器无法解码位置 44-45 中的字节:截断的 \UXXXXXXXX 转义)
我还发现(在此代码的后续步骤中使用 pycharm /selenium)如果您将文件路径设置为 (r'C:\blahblah),它可以工作,但我遇到了一个剥夺错误。以下是我为通过弃用警告而采取的措施的示例
serv = Service(r"C:\Users\BatMan\PycharmProjects\DellUpdate\Drivers\chromedriver.exe")
driver = webdriver.Chrome(service=serv)
评论
cmd
{"wmic bios get serialnumber"}
start cmd /k {"wmic bios get serialnumber"}
start cmd /k wmic bios get serialnumber
start cmd /k "wmic bios get serialnumber"
cmd.exe
import subprocess
subprocess.Call('wmic.exe /Output:"C:\test.txt" BIOS Get SerialNumber')
subprocess.Call('wmic.exe /Output:"C:\\test.txt" BIOS Get SerialNumber')