python使用argparse解析命令行参数
python使用argparse解析命令行参数python例子123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960#!/usr/bin/python3# -*- coding: utf-8 -*-import sysimport argparseimport osimport tarfile untar_path = ""out_dir = ""def parse_usage(): parser = argparse.ArgumentParser() parser.add_argument('-o', '--outdir', dest='out dir') parser.add_argument('-i', '--inpath', dest='tar ...
使用随机深度优先搜索算法生成多层迷宫
使用随机深度优先搜索算法生成多层迷宫源码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133#!/usr/bin/python3# -*- coding: utf-8 -*-# create by 火苗999℃import randomfrom draw_maze import *from maze_def import *from maze import *## Randomized depth-first search# Recursive implementa ...
python解析命令行参数
python使用getopt和sys解析命令行参数python例子12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#!/usr/bin/python3# -*- coding: utf-8 -*-import sysimport getoptimport osimport tarfile untar_path = ""out_dir = ""def useage(): print("useage: untar -i <path> -o <out dir> ") return def parse_usage(argv): try: opts, args = getopt.getopt(argv,"hi:o:", ["help", &q ...
随机打乱数组的方法与算法优化思路
随机打乱数组的方法与算法优化思路方法1构造一个空的数组1,把输入数组中的数按顺序随机放入到数组1的空位中。
12345678910111213141516171819202122232425262728293031#!/usr/bin/python3# -*- coding: utf-8 -*-import randomdef array_rand1(arr): print("array rand 1:") size = len(arr) arr1=[] for i in range(0, size): # 初始化空位 arr1.append(None) space_size = len(arr1) # 剩余的空位 for x in arr: # 遍历数组 # 随机放入空位的序号 n = random.randint(0, space_size-1) # print("放到序号{}的空位".format(n ...
洗牌算法
洗牌算法洗牌算法是将原来的数组进行打散,使原数组的某个数在打散后的数组中的每个位置上等概率的出现
12345678910111213141516171819202122#!/usr/bin/python3# -*- coding: utf-8 -*-import randomdef shuffle(arr): l = len(arr) for i in range(0, l): # 从剩下的数中随机选择一个数与arr[i]交换 # 每个数被选中的概率为1/(l-i) x = random.randint(i, l-1) # 交换arr[i]和arr[x] t = arr[x] arr[x]=arr[i] arr[i]=t print("{}:{}".format(i, arr)) return arrif __name__ == "__main__": ' ...
读书
读书春天不是读书天夏天温暖好睡眠秋高气爽冬又至要想读书等明年
— 火苗999℃
windows注册mysql服务后启动报错
windows注册mysql服务后启动报错重装系统后,手动注册mysql服务,启动报错。
找到mysql安装路径,打开my.ini找到[mysqld]。修改basedir为mysql目录所在位置。修改datadir为mysql目录下data位置。
比如我的mysql在D盘:
修改后的[mysqld]
1234[mysqld]port=3306basedir="D:/MySQL/"datadir="D:/MySQL/data/"
c++17的std::from_chars
c++17中的std::from_chars1std::from_chars, std::from_chars_result
在头文件<charconv>定义
12345678910111213// (1) (C++17 起)std::from_chars_result from_chars(const char* first, const char* last, /*see below*/& value, int base = 10);// (2) (C++17 起)std::from_chars_result from_chars(const char* first, const char* last, float& value, std::chars_format fmt = std::chars_format::general);// (3) (C++17 起)std::from_chars_result from_chars(const char* first, const char* last, double& value, std ...
boost多网卡udp组播绑定网卡发送
boost多网卡udp组播绑定网卡发送多网卡组播的时候,发送端要遍历本地ip进行发送。
sender.h123456789101112131415161718192021222324252627282930313233#pragma once//// sender.h// udp组播发送类//#include <iostream>#include <sstream>#include <string>#include <boost/asio.hpp>#include "sender.h"class multicast_sender{public: multicast_sender(boost::asio::io_context& io_context , const boost::asio::ip::address& multicast_address , const unsigned short multicast_port , const b ...
boost多网卡udp组播绑定网卡接收
boost多网卡udp组播绑定网卡接收receiver.h12345678910111213141516171819202122232425262728293031#pragma once//// receiver.cpp// udp组播接收类//#include <array>#include <iostream>#include <string>#include <functional>#include <boost/asio.hpp>class multicast_receiver{public: multicast_receiver(boost::asio::io_context& io_context , const boost::asio::ip::address& listen_address , const unsigned short& multicast_port , const boost::asio::ip::addres ...