Python
xHibiki
【本博客已停止更新】
展开
-
Python编程 摩斯密码加密解密工具
class MorseCoder: __plaintext = [] # 字母数字明文串 __morsecode = [] # 摩斯密码密文串 encode_alphabet = {"A": ".-", "B": "-...", "C": "-.-.", "D": "-..", # 加密对照表 "E": ".", "F": ...原创 2019-03-31 14:20:46 · 3103 阅读 · 1 评论 -
Python3输出时使用print函数的一个小技巧
在编写代码的时候,总是烦着print()没以前版本的好用了,例如:str="Hello World!">>>print str 如果想输出字符串str,旧版中只要先输入print,然后空格+变量名即可在py3以后,则需要:>>>print(str)1.先写print(),然后在参数中填写变量2.先写变量,然原创 2018-11-05 22:31:48 · 963 阅读 · 0 评论 -
Python函数命名-PEP8编码规范的说明及IDE提示的忽略
对IDE提示的好奇在使用Python编程时,某函数setMainFrameColor()出现了黄色下划线并有以下信息Function name should be lowercase less… (Ctrl+F1)Inspection info: This inspection checks the PEP8 naming conventions.翻译过来就是:函数名需要小写检视信...原创 2018-11-04 00:04:28 · 10843 阅读 · 1 评论 -
Python笔记 隐藏与私有属性的修改访问-以自定义类为实例
以下是Python基础教程(第三版)P122原文7.2.4 再谈隐藏默认情况下,可从外部访问对象的属性.再来看一下前面讨论封装时使用的示例.>>>c.name‘SirLancelot’>>&am原创 2018-11-04 01:17:59 · 1014 阅读 · 0 评论 -
PyCharm的一些常用功能
1.多行注释选定需要注释的代码块,选择菜单栏Code->Comment with Line Comment默认热键: Ctrl+/2.代码格式化菜单栏code->Reformat Code默认热键: Ctrl+Alt+L3.代码全局替换在记事本和Word等软件中是Ctrl+H,但是这里的Ctrl+H是"Hierarchy: Class Cup"用于显示类的分层结构这里应...原创 2018-11-04 00:26:59 · 466 阅读 · 0 评论 -
Python笔记 函数中关键字参数,收集参数与分配参数的使用实例
Stock类class Stock: def __init__(self): self.itemList = [] def addItem(self, name, price): # 创建商品 return {'name': name, 'price': price} def saveOneItem(self, item): # 保...原创 2018-11-03 15:42:07 · 676 阅读 · 0 评论 -
Python笔记 enumerate与zip使用的例子
#enumerate是内置函数,用于迭代索引-值对#zip用于并行两个序列的同时迭代时将两个序列"缝合",返回一个由元组组成的序列str=['a','b','c']index=[]string=[]for i,s in enumerate(str): index.append(i) string.append(s)en=zip(index,string) #使用list...原创 2018-11-02 23:46:57 · 328 阅读 · 0 评论 -
Python笔记 字典按key排序和按value排序的方法
#按Key排序(字母顺序)#新建一个字典{手机品牌,价格}phone={'Meizu':2698,'Apple':7299,'Xiaomi':2400,'Samsung':6000}[(key,phone[key]) for key in sorted(phone)] #方法1sorted(phone.items(),key=lambda item:item[0]) #方法2#方法1...原创 2018-11-02 23:25:59 · 3470 阅读 · 0 评论 -
Python调试 安装库时出现MicrosoftVisual C++ 14.0 is requied的解决方法
使用pip install xxx偶尔会遇到无法安装或者出错的情形,这时候其实可以考虑不去解决这些麻烦问题,而是使用已经打包好的wheel文件进行安装.将所需库的wheel文件下载到本地,然后pip install xxx.whl即可.1.没有安装wheel的首先安装,命令:pip install wheel2.到 https://www.lfd.uci.edu/~gohlke/python...原创 2018-11-17 20:26:37 · 1125 阅读 · 0 评论 -
Python调试 在配置好系统Path依然出现'xxxxx' executable needs to be in PATH的解决方法
在安装chromedriver时出现了明明已经将chromedriver所在的目录加入到系统PATH中,并且将chromedriver放在了Python的安装目录.打开CMD,输入chromedriver,也能进入,理论上来说Path已经生效,没问题.但是在IDE(Pycharm中)运行时,from selenium import webdriverdriver=webdriver.Chro...原创 2018-11-17 19:17:27 · 1291 阅读 · 0 评论 -
Python 将文本存储的超长数字写入到CSV文件
解决方法:在需要保存的数字后+’\t’即可.在保存到csv文件然后用Excel打开时,发现图书ISBN显示为科学计数法,如图:import csv>>> writer = csv.writer(output)>>> writer.writerow((ISBN))如果不想手动设置单元格格式>分类>文本的话,只要在数字后+’\t’即可im...原创 2018-11-14 15:09:54 · 5665 阅读 · 1 评论 -
Python csv模块写入到csv文件时存在空行的解决方法
在写爬虫的时候发现写入到csv文件时,文件显示一行数据,一行空行,如下图:原始代码如下:output = open('d:/result.csv', 'w') writer = csv.writer(output) # csv writerwriter.writerow(('排名', '书名', '作者', '好评率', '购买页面', 'ISBN'))for i in range...原创 2018-11-14 15:03:05 · 781 阅读 · 0 评论 -
'gbk' codec can't encode character xxx in position的错误解决及对编/解码的探究
错误出现使用request模块爬取网页,将页面源文件res.text保存到文件get.html时,import requestres = requests.get('http://weibo.com')with open(r'd:\get.html', 'w') as f: f.write(res.text)发生了如下错误:Traceback (most recent cal...原创 2018-11-11 16:32:37 · 10212 阅读 · 0 评论 -
Python模块 pyodbc的连接与使用
为了连接公司数据库的SQL Sever,用Python的pyodbc模块即可.具体的使用方法其实感觉和pymysql都是一个样,增删查改参考pymysql就可以了连接import pyodbcDRIVER = "{SQL Server Native Client 11.0}"SERVER = "xxx.xxx.xxx.xxx"PORT = 14330UID = "xxx"PWD ...原创 2019-05-23 12:06:47 · 11345 阅读 · 1 评论 -
Python模块 time与datetime模块的函数说明及使用实例
time模块模块time包含用于获取当前时间,操作时间和日期.从字符串中读取日期,将日期格式化为字符串的函数.日期可表示为实数,也可表示为包含9个整数的元组例如tuple(2018,12,24,12,2,56,-1,-1,-1)------------------------------------------------------索引 字段 值0-----年--...原创 2018-11-05 12:48:57 · 4433 阅读 · 0 评论 -
Python模块 随机数random模块的速查与使用
模块介绍Random模块提供各种用于生成伪随机数的函数,以及根据不同的实数分布来随机生成值的函数.虽然这些函数生成的数字好像是完全随机的,但是它们背后的系统是可预测的.如果要求真正随机数用于加密安全等相关功能,应左转模块os中的函数urandom本模块的函数来源于Python3.7.11.种子,初始化相关用于控制基础随机数生成器的状态.函数描述getstate()...原创 2018-11-12 22:11:23 · 376 阅读 · 0 评论 -
Python模块 matplotlib功能与使用方法大全
目录一.简介二.文档三.食用方法1.基础折线图绘制2.xxxx3.yyyy一. 简介二.文档三.食用方法原创 2018-12-07 15:11:45 · 43951 阅读 · 6 评论 -
Python编程 读取多个JSON实现数据去重
现在假设有一些JSON文件,但是这些JSON中存在着某些key相同的重复数据,需要进行去重.import json# 这里读取7个json文件,并全部读取到data中data = []for i in range(1, 8): str = open("e:/{}.json".format(i), encoding="utf-8").read() data.extend(原创 2018-11-25 23:43:06 · 4380 阅读 · 0 评论 -
Python编程 PyMongo实现对JSON的导入和导出
JSON导入1. 打开Collectionimport jsonimport pymongoclient = pymongo.MongoClient('localhost')db = client['mydb']collection = db['images']2.打开json并写入到Collectionstr = open("e:/images.json", encoding...原创 2018-11-26 09:53:05 · 5472 阅读 · 1 评论 -
Python模块 正则表达式 re模块的使用与实例
很喜欢Python教材中的这句格言:有些人面临问题时会想:“我知道, 我将使用正则表达式来解决这个问题.”这让他们面临的问题变成了两个. ---------Jamie Zawinski正则表达式的确好用,但是复杂的模式难以阅读和维护,与其把花在研究用正则表达式处理复杂的问题上,还不如把时间花在如何写一套清晰,易维护的逻辑.上(但是为什么要用,还是因为爽啊)关于正则表达式的语法,可以参阅...原创 2018-11-09 12:33:43 · 811 阅读 · 0 评论 -
Python编程 综合性实验: Java源代码高亮 实现将Java代码转换为html
前言这个是大三下学期的Java课程设计,目前重构完成了代码转换并输出的部分.暂时还没有打算完成可视化界面.代码不长,加起来也就100行左右(再次感受到Python的精简),实现了对注释,关键字,字符串,一些运算符的高亮.代码实现import reclass JavaSyntaxHighlighter: def __init__(self): self.x ...原创 2018-11-08 15:17:27 · 578 阅读 · 0 评论 -
Python编程 综合性实验: Java源代码分析程序 (统计文件,行数,关键字)
又重新对做过的课设用新的语言实现了一次,学到了很多知识…[Java]综合性实验 Java源代码分析程序分为三个部分1.统计指定目录中文件的个数和总的大小2.统计目录下Java源文件的关键字出现次数3.统计Java源文件代码行数,注释行数,空白行数实验的要求如下:一、题目:综合性实验 Java源代码分析程序二、类型:综合型、探索型三、目的:初步掌握运用面向对象方法编写应用程序...原创 2018-11-06 19:02:29 · 1436 阅读 · 0 评论 -
Python编程 16进制转换为10进制-三行代码实现
题目代码实现算法逐位相乘: A280(16)= A*163 + 2*162 + 8*161 + 0*160 public static void hexToDec(String input) { String hex = input.toUpperCase(); int length = hex.length(); long resu...原创 2018-10-02 10:14:37 · 11577 阅读 · 0 评论 -
Python编程 判断和输出素数的多种方法
1.for循环输出100以内的素数def get_prime_scope(scope=100): numlist = [] i = 2 for i in range(2, scope + 1): j = 2 for j in range(2, int(math.sqrt(i))): if (i % j == 0):...原创 2018-11-04 02:13:11 · 8425 阅读 · 2 评论 -
Python编程 常用进制转换的代码实现
二进制转十进制def bin_to_dec(bin_str): bin = [int(n) for n in bin_str ] dec = [bin[-i - 1] * math.pow(2, i) for i in range(len(bin))] return int(sum(dec))十进制转二进制def dec_to_bin(dec): bin =...原创 2018-11-04 13:44:14 · 5105 阅读 · 0 评论 -
Python编程 统计指定目录中文件的个数和总的大小
每次学习新的语言,就想重新实现一遍做过的课设=,=这里实现的是"综合性实验 Java源代码分析程序"的第一部分原来的Java实现在这:[Java]统计指定目录中文件的个数和总的大小题目给定一个指定的目录,例如"E:\音乐",求出该目录下文件的总数,以及所有文件加起来的大小.–os模块的使用–递归算法查找文件代码实现导入模块from os import listdirfro...原创 2018-11-06 00:30:51 · 2085 阅读 · 0 评论 -
Python编程 统计目录下Java源文件的关键字出现次数
每次学习新的语言,就想重新实现一遍做过的课设=,=这里实现的是"综合性实验 Java源代码分析程序"的第二部分第一部分见:[Python基础]统计指定目录中文件的个数和总的大小原来的Java实现在这:[Java]统计目录下Java源文件的关键字出现次数题目统计文件正文中某些字符串出现的次数1.保存关键字Java中关键字共有50个,存入字典,用**keywords[‘class’...原创 2018-11-06 15:47:41 · 918 阅读 · 0 评论 -
Python编程 统计Java源文件代码行数,注释行数,空白行数
每次学习新的语言,就想重新实现一遍做过的课设=,=这里实现的是"综合性实验 Java源代码分析程序"的第三部分第二部分见:[Python编程]统计目录下Java源文件的关键字出现次数原来的Java实现在这:[Java]统计Java源文件代码行数,注释行数,空白行数1.说明在Java源程序中的行共有3种:(1)代码行,可运行的Java源代码。例如:int n = 10;(2)...原创 2018-11-06 16:42:41 · 958 阅读 · 0 评论 -
Python模块 使用pip安装wheel文件
1.pip install wheel2.https://www.lfd.uci.edu/~gohlke/pythonlibs/ 查找需要的库.whl文件3.上面网站找不到(例如aiodns一个加速DNS的解析库),可以到https://pypi.org/project/aiodns/#files PyPI查找4.点击下载.whl5.在.whl所在文件夹内按Shift键+鼠标右键打开C...原创 2018-11-17 20:40:05 · 21124 阅读 · 0 评论 -
Python模块 zlib压缩和解压文件的简单例子/开箱即用
直接用网上的代码最常用的那段代码,但是有BUG,跑不起来,所以改写了一下,包括读写的次数控制,错误的捕获抛出,Python3可以直接跑.详细代码import osimport zlibimport mathBUFFER_SIZE = 1024def compress(infile, dstfile): filesize = os.path.getsize(infile) ...原创 2019-05-23 16:52:30 · 844 阅读 · 0 评论