–
https://kuyour.top/anaconda历史版本下载列表.txt
–
–
https://kuyour.top/anaconda历史版本下载列表.txt
–
在 Python 中,if __name__ == "__main__":
这个条件判断是非常重要的,特别是在模块被导入时。让我们详细探讨一下这个条件的作用和如果没有它会怎么样。
__name__
设置为 "__main__"
。__name__
被设置为该文件的模块名。if __name__ == "__main__":
这个条件判断确保了其中的代码只有在文件被直接运行时才会执行,而不是在被导入到另一个模块时执行。if __name__ == "__main__":
会怎么样如果你省略了 if __name__ == "__main__":
这个条件判断,以下情况会发生:
if __name__ == "__main__":
会导致测试和调试变得更加复杂。假设你有以下模块 example.py
:
# example.py
def do_something():
print("Doing something")
print("This is always printed")
if __name__ == "__main__":
print("This is only printed when the module is run directly")
do_something()
example.py
,输出将是:
This is always printed
This is only printed when the module is run directly
Doing something
example.py
:
# another_file.py
from example import do_something
do_something()
输出将是:
This is always printed
Doing something
注意,"This is only printed when the module is run directly"
没有被打印,因为它在 if __name__ == "__main__":
块中。
总之,使用 if __name__ == "__main__":
是一种良好的编程实践,它帮助你控制代码的执行环境,避免在模块被导入时产生意外的副作用。
–
import subprocess
import re
def get_memory_usage():
# 执行 WMIC 命令并获取内存占用信息
可用物理内存_info = subprocess.check_output("wmic OS get FreePhysicalMemory", shell=True).decode()
总可见内存大小_info = subprocess.check_output("wmic OS get TotalVisibleMemorySize", shell=True).decode()
# 使用正则表达式提取 FreePhysicalMemory 和 TotalVisibleMemorySize 的值
free_memory = re.search(r'([0-9]+)', 可用物理内存_info).group(0)
total_memory = re.search(r'([0-9]+)', 总可见内存大小_info).group(0)
# 计算内存占用百分比
try:
memory_usage_percent_data = (1 - int(free_memory) / int(total_memory)) * 100
memory_usage_percent='{:.3f}'.format(memory_usage_percent_data)
return str(memory_usage_percent)+'%'
except ZeroDivisionError:
print("Error: Division by zero is not allowed.不允许除以零。")
return None # 或者可以设置为某个特定的错误代码或消息
–
–
import subprocess
import re
def get_cpu_usage():
# 执行 WMIC 命令并获取 CPU 占用率
cpu_usage_info = subprocess.check_output("wmic cpu get loadpercentage", shell=True).decode()
# 使用正则表达式提取 CPU 占用率的数值
cpu_usage_match = re.search(r'([0-9]+)', cpu_usage_info)
if cpu_usage_match:
cpu_usage = int(cpu_usage_match.group(1))
return str(cpu_usage)+'%'
else:
print("Failed to extract CPU usage information.提取CPU使用率信息失败.")
return None
–
–
def get_ipv6():
# 用socket获取本机 IPv6 地址
try:
# 创建一个 socket 对象
with socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) as s:
# 连接到一个公共的地址来获取本机的 IPv6 地址
s.connect(('2001:db8::1', 80))
# 获取 socket 对象的地址信息
ipv6 = s.getsockname()[0]
return ipv6
except Exception as e:
print("Failed to get IPv6 address.获取ipv6地址失败,错误信息:", e)
return None
–
–
import socket
def get_ipv4():
# 用socket获取本机 IPv4 地址
st = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
try:
st.connect(('10.255.255.255', 1))
ipv4 = st.getsockname()[0]
return ipv4
except Exception:
ipv4 = '127.0.0.1'
finally:
st.close()
# print(ipv4)
return None
–
–
try:
memory_usage_percent_data = (1 - int(free_memory) / int(total_memory)) * 100
memory_usage_percent='{:.3f}'.format(memory_usage_percent_data)
return str(memory_usage_percent)+'%'
except ZeroDivisionError:
print("Error: Division by zero is not allowed.不允许除以零。")
return None # 或者可以设置为某个特定的错误代码或消息
else:
pass
finally:
pass
–
在Linux下,你可以使用find
命令结合多个条件来查找文件。要查找/etc
目录下包含deepin
字样且以.conf
为后缀的文件,你可以使用以下命令:
find /etc -type f -name "*deepin*" -name "*.conf"
这个命令的各个部分解释如下:
/etc
:指定了搜索的起始目录。-type f
:指定只查找文件(不包括目录)。-name "*deepin*"
:指定查找文件名中包含deepin
字样的文件。-name "*.conf"
:指定查找文件名以.conf
为后缀的文件。这两个-name
参数将联合使用,以匹配同时满足这两个条件的文件。注意,find
命令的-name
参数使用的是模式匹配,*
代表任意数量的字符。
执行这个命令后,它会列出所有在/etc
目录及其子目录下满足上述条件的文件路径。如果你只想在/etc
目录本身查找,不想搜索子目录,可以添加-maxdepth 1
参数:
find /etc -maxdepth 1 -type f -name "*deepin*" -name "*.conf"
这将限制搜索范围只在/etc
目录的第一层。
代码来源:
https://mp.weixin.qq.com/s/kuyObP50ZfsbZ9IKqp_IDw
–
from tkinter import *
import time, datetime
from time import gmtime, strftime
root =Tk()
# Window Attributes
root.overrideredirect(1)# 隐藏窗口边框
root.wm_attributes("-transparentcolor","gray99")# 设置透明背景色
running =True# 运行状态
# 关闭窗口函数
def close(event):
global running
running = False
root.bind('<Escape>', close)# 绑定Esc键关闭窗口
screen_width = root.winfo_screenwidth()# 获取屏幕宽度
screen_height = root.winfo_screenheight()# 获取屏幕高度
timeframe =Frame(root, width=screen_width, height=screen_height, bg="gray99")# 创建主框架
timeframe.grid(row=0,column=0)
tkintertime =StringVar()# 创建时间变量
timelabel =Label(timeframe, textvariable=tkintertime, fg="white", bg="gray99", font=("NovaMono",40))# 创建时间标签
timelabel.place(y=screen_height/2-60, x=screen_width/2, anchor="center")# 设置时间标签位置
tkinterdate =StringVar()# 创建日期变量
datelabel =Label(timeframe, textvariable=tkinterdate, fg="white", bg="gray99", font=("Bahnschrift",15))# 创建日期标签
datelabel.place(y=screen_height/2+60, x=screen_width/2, anchor="center")# 设置日期标签位置
while running:
tkintertime.set(value=strftime("%H:%M:%S"))# 更新时间
tkinterdate.set(value=strftime("%A, %d %B"))# 更新日期
root.update_idletasks()# 更新窗口
root.update()# 更新窗口
time.sleep(1) # 延迟1秒
–
function detectIE() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf('MSIE ');
var trident = ua.indexOf('Trident/');
if (msie > 0) { // IE 10 or older
var ieVersion = parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10);
console.log('当前浏览器版本:IE ' + ieVersion + ' detected');
return ieVersion;
}
if (trident > 0) { // IE 11
var rv = ua.indexOf('rv:');
var ieVersion = parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10);
console.log('当前浏览器版本:IE ' + ieVersion + ' detected');
return ieVersion;
}
console.log('检测到非IE浏览器\ Non-IE browser detected');
return false;
}
var ieVersion = detectIE();
if (ieVersion === 6) {
console.log('Redirecting IE6 users to a special page...');
window.location.href = 'ie6专属页面.html';
}
function getExplore(){
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/rv:([\d.]+)\) like gecko/)) ? Sys.ie = s[1] :
(s = ua.match(/msie ([\d\.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/edge\/([\d\.]+)/)) ? Sys.edge = s[1] :
(s = ua.match(/firefox\/([\d\.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/(?:opera|opr).([\d\.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/chrome\/([\d\.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/version\/([\d\.]+).*safari/)) ? Sys.safari = s[1] : 0;
// 根据关系进行判断
if (Sys.ie) return ('IE: ' + Sys.ie);
if (Sys.edge) return ('EDGE: ' + Sys.edge);
if (Sys.firefox) return ('Firefox: ' + Sys.firefox);
if (Sys.chrome) return ('Chrome: ' + Sys.chrome);
if (Sys.opera) return ('Opera: ' + Sys.opera);
if (Sys.safari) return ('Safari: ' + Sys.safari);
return 'Unkonwn';
}
var getExploreVersion = getExplore()
console.log('当前浏览器版本:'+getExploreVersion);