【Tip】Python
『基本操作』
【查看Python所在目录】
import os
print(os.__file__)
【查看已安装的包】
pip list
【获取当前脚本所在目录】
import sys
import os
print(sys.argv[0]) #当前脚本所在目录
print(sys.path[0]) #当前脚本所在目录
print(os.path.split(os.path.realpath(__file__))[0]) #当前脚本所在目录
print(__file__) #当前脚本所在 路径 curr_path = sys.path[0]
if not os.path.isdir(curr_path):curr_path = curr_path[0:curr_path.rfind('\\')]
【检查变量是否存在】
return ('VAR_NAME' in dir())
〖日期时间〗
【日期时间操作】
import datetime, time #【获取时间戳】
timestamp = int(time.mktime(time.localtime())) #【格式化当前时间】
dtime = datetime.datetime.now()
print(dtime.strftime('%Y-%m-%d %H:%M:%S')) #年-月-日 时:分:秒
print(dt.isoweekday()) #星期(1-7:一~日) #【字符串转时间】
t=time.strptime('2017-11-22 12:34:56','%Y-%m-%d %H:%M:%S')
y,m,d,h,min,s=t[0:6] #保存时间各部分变量
dtime = datetime.datetime(y,m,d,h,min,s)
print(dtime) #【日期加减】
# 获得今天的日期
today = datetime.date.today()
yesterday = today - datetime.timedelta(days=1) #昨天
tomorrow = today + datetime.timedelta(days=1) #明天
【睡眠n秒】
import time time.sleep(3) #睡眠3秒
〖字符串〗
【左边自动补零】
#way-1: 生成分秒为[1,59]随机数的时间字符串,当分秒<10时左边自动补零
tstr='2018-01-22 09:{:0>2d}:{:0>2d}'.format(int(random.uniform(1,59)),int(random.uniform(1,59))) #way-2:000123
print(str(123).zfill(6))
『文件/文件夹/IO操作』
【读取文件】
open('c:\\xxx', 'r', encoding='utf-8').read()
【遍历文件夹】
import sys
import os
#遍历列举脚本所在目录下所有文件
for parent,dirnames,filenames in os.walk(sys.path[0]):
for fn in filenames:
print(fn)
break # stop iterate dirs
import os
import os.path
res = ''
#三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字
for parent,dirnames,filenames in os.walk('G:\hylt'):
for fn in filenames:
res += (fn+'\r\n')
#print(res)
【保存文件】
sv = open('temp_file.txt', 'w')
sv.write(res)
sv.close()
print('END')
『数据操作』
【对象—> json字符串(dumps)】
import json
data = {
'name' : 'ACME',
'shares' : 100,
'price' : 542.23
}
# 对象转json
json_str = json.dumps(data)
# --json保存到文件
with open('data1.json', 'w') as f:
json.dump(data, f)
【json字符串—>对象(loads)】
import json # json转对象
jobj = json.loads('{"f1":"aaa","f2":345}') # --从文件读取json(为对象)
with open('data1.json', 'r') as f:
jobj = json.load(f)
【string、对象互转】
# 把一个对象转换为字符串,类似java的toString()
_str = repr(object) # 把repr() 转换的字符串 变为对象
_obj = eval(_str)
【 列表操作】
『Pandas操作』
-
『常用方法』
【网络下载】
from urllib import request #----------------------------------------------------------------------
def get_data(url, encoding='utf-8'):
"""获取网络资源"""
i_headers = {
'User-Agent': r'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
r'Chrome/45.0.2454.85 Safari/537.36 115Browser/6.0.3',
'Connection': 'keep-alive'
}
req = request.Request(url, headers=i_headers)
uri = request.urlopen(req)
html = ''
if url == uri.geturl():
html = uri.read()
html = html.decode(encoding)
return html
【Tip】Python的更多相关文章
- 【Lab】Python改bat文件
[Lab]Python改bat文件 给出一个特定的树形结构,每一层的数字依次递增后,按照从上到下,同时从左到右这样的顺序生成.这么说还是不太明白,比如下面这个简单的树形结构. 按照顺序应该写成这样[3 ...
- 【转】Python函数默认参数陷阱
[转]Python函数默认参数陷阱 阅读目录 可变对象与不可变对象 函数默认参数陷阱 默认参数原理 避免 修饰器方法 扩展 参考 请看如下一段程序: def extend_list(v, li=[]) ...
- 【转】Python多进程编程
[转]Python多进程编程 序. multiprocessingpython中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Pytho ...
- 【导航】Python相关
[博客导航] Python相关导航 [索引]Python常用资源(从新手到大牛) [任务]Python语言程序设计.MOOC学习 [笔记]Python集成开发环境——PyCharm 2018.3下载. ...
- 【转】Python模块学习 - fnmatch & glob
[转]Python模块学习 - fnmatch & glob 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特 ...
- 【转】Python之mmap内存映射模块(大文本处理)说明
[转]Python之mmap内存映射模块(大文本处理)说明 背景: 通常在UNIX下面处理文本文件的方法是sed.awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力 ...
- 【转】python之模块array
[转]python之模块array >>> import array#定义了一种序列数据结构 >>> help(array) #创建数组,相当于初始化一个数组,如: ...
- 【转】python 退出程序的方式
[转]python 退出程序的方式 python程序退出方式[sys.exit() os._exit() os.kill() os.popen(...)] 知乎说明 http://www.zhihu. ...
- 【转】python 面向对象(进阶篇)
[转]python 面向对象(进阶篇) 上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 ...
随机推荐
- wamp配置虚拟域名
1.打开apache下httpd.conf 我的目录是在F:\wamp\bin\apache\apache2.2.22\conf\httpd.conf 2.去掉这两行前面的#注释 LoadModule ...
- python xmlrpc
rpc 协议 RPC = Remote Procedure Call Protocol,即远程过程调用协议. xml rpc 协议 使用http协议作为传输协议,使用xml文本传输命令和数据的一种协议 ...
- spark0.9.1集群模式执行graphx測试程序(LiveJournalPageRank,新增Connected Components)
spark最新版公布了.之前的版本号就已经集成了graphx,这个版本号还改了一些bug. 我做了简单測试,只是网上关于集群模式执行spark资料太少了,仅仅有关于EC2(见參考资料1)的.可是还非常 ...
- Codeforces Round #422 (Div. 2) D. My pretty girl Noora 数学
D. My pretty girl Noora In Pavlopolis University where Noora studies it was decided to hold beau ...
- vue开发总结(一)
vue使用快一个多月了,从移动端到PC端,踩过的坑也不少.项目的开发是基于element ui 与 mint ui 组件库,下面总结下项目中的一些知识点: 一.网页数据请求 首次进入页面,需要请求数据 ...
- POJ3259 Wormholes —— spfa求负环
题目链接:http://poj.org/problem?id=3259 Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submis ...
- PHP——巧用PHP函数array_merge()合并数组
前言 返回联系人列表,包含所有的字母,之前返回的是存在这个联系人才会返回对应的大写字母,后面更改了要求要返回所有的字母从A-Z.PHP内置的一些函数活用起来,真的很省劲! 步骤 一般这时候大家可能直接 ...
- lucene Index Store TermVector 说明
最新的lucene 3.0的field是这样的: Field options for indexingIndex.ANALYZED – use the analyzer to break the Fi ...
- mysql忘记root用户密码找回步骤
修改或找回root密码步骤1.修改MySQL的登录设置: # vi /etc/my.cnf 在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi. 2.重新启动mys ...
- netty codec部分剖析
针对netty 3.2进行剖析 今天用到了netty的encoder和decoder(coder其本质还是handler),特剖析一个netty提供的coder,从而选择或者实现我自己的coder. ...