我的编程空间,编程开发者的网络收藏夹
学习永远不晚

[经验总结] 在 windows 命令窗

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

[经验总结] 在 windows 命令窗

先给出的代码和目录结构

获取CPU代码如下:

 1 # -*- coding:utf-8 -*-
 2 '''
 3 Created on Sep 10, 2018
 4 
 5 @author: 
 6 '''
 7 import sys
 8 import time
 9 import subprocess
10 from config.getConfig import GetConfigs
11 
12 conf = GetConfigs("config")
13 count = conf.getValue("cpu_times", "count_time")
14 
15 
16 class CPU(object):
17 
18     def __init__(self):
19         self.time = conf.getValue("cpu_times","refresh_time")
20     
21     def read_cpu(self):
22         cpu_info0 = []
23         cpu_info1 = subprocess.check_output('adb shell cat /proc/stat').decode().split()[1:11]
24         for i in cpu_info1:
25             cpu_info0.append(int(i))
26         return cpu_info0
27     
28     def get_idle(self):
29         cpu_idle = self.read_cpu()[3]
30         return cpu_idle
31     
32     def cal_cpu(self):
33         t1_total = sum(self.read_cpu())
34         t1_idle = self.get_idle()
35         time.sleep(self.time)
36         t2_total = sum(self.read_cpu())
37         t2_idle = self.get_idle()
38         cpu_usage = (1 - (t2_idle - t1_idle)/(t2_total - t1_total))*100
39         if cpu_usage < 0:
40 #                 print (time.strftime('%Y-%m-%d %H:%M:%S') + " The CPU usage is %d" %(0,) + "%")
41             return cpu_usage == 0
42         else:
43 #                 print (time.strftime('%Y-%m-%d %H:%M:%S') + " The CPU usage is %d" %cpu_usage + "%")
44             return str(int(cpu_usage))
45             
46 if __name__ == "__main__":
47         cpu_collection = CPU()
48         for i in range(count):
49             with open("cpu.txt","a") as f:
50                 f.write(cpu_collection.cal_cpu() + '\n')
51             print (cpu_collection.cal_cpu())
52             
View Code

 

获取配置文件代码如下:

 1 # -*- coding:utf-8 -*-
 2 '''
 3 Created on Nov 1, 2018
 4 
 5 @author: 
 6 
 7 Comment: 
 8 '''
 9 import os
10 import sys
11 import time
12 from configparser import ConfigParser
13 
14 class GetConfigs(object):
15     def __init__(self,filename):
16         self.filename =filename
17     
18     def getValue(self,section,option):
19         """
20         @file: string,the name of the config file
21         @section: string,the name of the section in config file
22         @option: string,the name of the option in section field
23         This function will return a int value which the option is specified.
24         """
25         try:
26             configs = ConfigParser()
27             filepath = sys.path[1] + "\\config\\" + self.filename + ".ini" 
28             line = configs.read(filepath)
29             result = configs.getint(section, option)
30             return int(result)
31         except Exception as e:
32             print (e)
View Code

 

代码目录结构:

 

在IDE里面直接执行 cpu.py文件是正常的,正常输出 CPU 信息,但放到命令窗口执行却提示 config 模块不存在

1、打开运行窗口输入 cmd进入命令窗口

2、切换至代码所在目录:d:     --> cd D:\WorkSpace3\performance\cpu

3、运行 python3 cpu.py

 

提示自定义的模块不存在时,一般都是路径获取不正确导致未正常找到相应的模块,顺应这个思路看看哪些代码中涉及到模块路径

1、首先在 cpu.py文件中我们有开始去尝试 import config 这个包,需要先对这个进行确认是否正常找到的 config这个路径

2、我们在cpu.py代码中新增一行 print (sys.path),把路径全部打印出来确认,从下图中的输出来看,根本就没有到performance这一层目录,这样就肯定会找不到下一级的 config 目录,所以就报找不到该模块

 

 

要让程序能正常找到相应目录,势必要通过外部的手段将该路径添加进去,首先想到的就是添加环境变量,只要是环境变量中有配置对应的 path ,在命令窗口运行的程序都会到相应的 path中一一去查找,直到找到为止,可以添加到系统原生的path里面,为有利于区分,额外添加一个 PYTHONPATH 的环境变量,将其它需要手动添加的路径全部放到该环境变量里面,添加的原则是,要导入哪个包,只要将该包的上一层路径全部添加至环境变量中。比如我这里 config 包是在 performance这一层目录,所以我就只将到Performance这绝对目录添加到 PYTHONPATH环境变量即可,如下图:

 

 添加完成之后,重新打开命令窗口,进入到代码所在路径重新执行,代码执行正常,CPU信息也正常显示出来。

 

 

有人会问是什么原因导致了 这个问题,按正常理解来说在IDE里面能运行,在命令窗口里也照样能运行,都是执行的同一份文件?

       这是因为Python在启动解释器(Interpreter)的时候不只会导入环境变量中sys.path发现的模块,还会导入当前工作目录下的模块。当你在IDLE中启动解释器时,当前的工作目录就是项目目录,能顺利调用同项目中的模块;但是当你通过命令行启动时,当前工作目录为你启动解释器时所在的目录(即C盘的安装目录),如果当时的位置不是项目目录,那么项目目录中的模块就不会被找到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

[经验总结] 在 windows 命令窗

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

[经验总结] 在 windows 命令窗

先给出的代码和目录结构获取CPU代码如下: 1 # -*- coding:utf-8 -*- 2 ''' 3 Created on Sep 10, 2018 4 5 @author: 6 ''' 7 import sys 8 impor
2023-01-30

Windows用来定位DLL的搜索路径个人经验总结

《程序员面试宝典》一书中写到,Windows搜索dll文件的顺序为:(1)内存(2)knowndlls(3)清单与.local(4)应用程序目录(5)当前工作目录(6)系统目录(7)路径变量 总觉得不太明白,遂查资料确认一下。 查msdn如
2023-06-04

windows server 2008下一些设置技巧及优化经验总结

今天把以前的Windows server 2003给覆盖了,在C盘地下安装了windows server 2008。安装好windows server 2008后,系统很多地方都需要设置。我就说下我遇到的一些问题吧,关于其他的一些小问题网上
2023-05-29

利用C#开发在线购物平台的项目经验总结

在互联网时代,电子商务已经成为人们日常生活的重要组成部分。为了满足用户的需求,我最近参与了一个利用C#开发的在线购物平台的项目。通过这个项目的经验,我对于C#开发和在线购物平台有了更深入的理解和认识。首先,我要感谢团队成员的努力和合作。一个
利用C#开发在线购物平台的项目经验总结
2023-11-03

基于C#的在线音乐平台开发项目经验总结

一、项目背景在数字化时代,音乐作为一种重要的文化艺术形式,深受大众喜爱。传统的音乐播放方式逐渐被线上音乐平台取代,用户可以通过在线音乐平台随时随地收听自己喜爱的音乐。针对这一需求,我们团队在C#语言下开发了一款在线音乐平台。二、项目目标我们
基于C#的在线音乐平台开发项目经验总结
2023-11-02

基于C#的在线投资平台开发项目经验总结

基于C#的在线投资平台开发项目经验总结引言:随着互联网的迅速发展,人们对于在线投资平台的需求不断增加。C#作为一种流行的编程语言,被广泛应用于开发在线投资平台。本文旨在总结基于C#的在线投资平台开发项目的经验,分享开发过程中遇到的问题以及解
基于C#的在线投资平台开发项目经验总结
2023-11-04

利用C#开发在线投票系统的项目经验总结

利用C#开发在线投票系统的项目经验总结引言在线投票系统是现代社会中常见的一种应用,它可以方便、快捷地收集大量的用户投票数据。利用C#语言来开发在线投票系统的过程中,我们遇到了一些挑战,也积累了一些宝贵的经验。在本文中,我们将对C#开发在线投
利用C#开发在线投票系统的项目经验总结
2023-11-02

基于C#的在线旅游指南开发项目经验总结

基于C#的在线旅游指南开发项目经验总结引言:如今,伴随着互联网的迅猛发展,人们越来越倾向于使用在线旅游指南来规划自己的旅行。为了满足用户需求,我们决定开发一款基于C#的在线旅游指南。在这个项目中,我们面临了各种挑战和困难,但通过团队的协作和
基于C#的在线旅游指南开发项目经验总结
2023-11-04

MySQL在金融领域的应用与安全项目经验总结

MySQL在金融领域的应用与安全项目经验总结引言:随着科技的发展和金融行业的快速增长,数据库技术在金融领域中的应用变得越来越重要。MySQL作为一款成熟的开源关系型数据库管理系统,被广泛应用于金融机构的数据存储和处理中。本文将总结MySQL
MySQL在金融领域的应用与安全项目经验总结
2023-11-03

Windows命令提示符使用技巧总结(以备不时之需)

点击“开始→程序→附件→命令提示符”或“开始→运行”,再输入“CMD”进入命令即可提示符状态。或者直接Win键+R键直接呼出&l
2023-06-04

MySQL在大数据环境下的应用与优化项目经验总结

MySQL在大数据环境下的应用与优化项目经验总结随着大数据时代的到来,越来越多的企业和组织开始面临海量数据的存储、处理和分析的挑战。MySQL作为一种开源的关系型数据库管理系统,其在大数据环境下的应用和优化成为了许多项目的重要一环。本文将总
MySQL在大数据环境下的应用与优化项目经验总结
2023-11-03

基于C#的在线医疗咨询平台开发项目经验总结

摘要:本文总结了一个基于C#的在线医疗咨询平台开发项目的经验。通过讨论需求分析、系统设计、开发实现、测试和上线发布等阶段的关键问题和解决方案,旨在为开发类似项目的工程师们提供一些有益的参考和指导。关键词:C#、在线医疗咨询平台、需求分析、系
基于C#的在线医疗咨询平台开发项目经验总结
2023-11-02

利用C#开发在线问卷调查系统的项目经验总结

利用C#开发在线问卷调查系统的项目经验总结引言:随着互联网的快速发展,问卷调查成为一种常见的数据收集方式。为了更高效、便捷地进行问卷调查,许多机构和个人选择开发在线问卷调查系统。本文将对利用C#开发在线问卷调查系统的项目经验进行总结和分享。
利用C#开发在线问卷调查系统的项目经验总结
2023-11-04

基于C#的在线人脸识别系统开发项目经验总结

引言随着人工智能和大数据技术的发展,人脸识别技术已经逐渐成为了生活中不可或缺的一项技术。而在线人脸识别系统的出现则为这项技术的应用提供了更便捷的方式。本文介绍了作者在开发基于C#的在线人脸识别系统中的经验总结。实现方式2.1 人脸检测人脸识
基于C#的在线人脸识别系统开发项目经验总结
2023-11-03

基于C#的在线医疗预约平台开发项目经验总结

随着互联网技术的迅速发展,线上医疗预约平台成为了人们生活中的重要一环。近年来,基于C#开发的在线医疗预约平台受到了广大医疗机构和患者的青睐。本文将从项目背景、需求分析、平台设计与实现、遇到的问题以及未来发展方向等方面进行经验总结。一、项目背
基于C#的在线医疗预约平台开发项目经验总结
2023-11-04

利用C#开发在线音视频会议系统的项目经验总结

利用C#开发在线音视频会议系统的项目经验总结在当今信息技术快速发展的时代,在线音视频会议已经成为了商务交流、远程教育、医疗咨询等领域不可或缺的手段。为了满足市场需求,我与我的团队决定利用C#开发一款高效、稳定的在线音视频会议系统。在项目开发
利用C#开发在线音视频会议系统的项目经验总结
2023-11-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录