『基本操作』

【查看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)

【 列表操作】

ref

『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的更多相关文章

  1. 【Lab】Python改bat文件

    [Lab]Python改bat文件 给出一个特定的树形结构,每一层的数字依次递增后,按照从上到下,同时从左到右这样的顺序生成.这么说还是不太明白,比如下面这个简单的树形结构. 按照顺序应该写成这样[3 ...

  2. 【转】Python函数默认参数陷阱

    [转]Python函数默认参数陷阱 阅读目录 可变对象与不可变对象 函数默认参数陷阱 默认参数原理 避免 修饰器方法 扩展 参考 请看如下一段程序: def extend_list(v, li=[]) ...

  3. 【转】Python多进程编程

    [转]Python多进程编程 序. multiprocessingpython中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程.Pytho ...

  4. 【导航】Python相关

    [博客导航] Python相关导航 [索引]Python常用资源(从新手到大牛) [任务]Python语言程序设计.MOOC学习 [笔记]Python集成开发环境——PyCharm 2018.3下载. ...

  5. 【转】Python模块学习 - fnmatch & glob

    [转]Python模块学习 - fnmatch & glob 介绍 fnmatch 和 glob 模块都是用来做字符串匹配文件名的标准库. fnmatch模块 大部分情况下使用字符串匹配查找特 ...

  6. 【转】Python之mmap内存映射模块(大文本处理)说明

    [转]Python之mmap内存映射模块(大文本处理)说明 背景: 通常在UNIX下面处理文本文件的方法是sed.awk等shell命令,对于处理大文件受CPU,IO等因素影响,对服务器也有一定的压力 ...

  7. 【转】python之模块array

    [转]python之模块array >>> import array#定义了一种序列数据结构 >>> help(array) #创建数组,相当于初始化一个数组,如: ...

  8. 【转】python 退出程序的方式

    [转]python 退出程序的方式 python程序退出方式[sys.exit() os._exit() os.kill() os.popen(...)] 知乎说明 http://www.zhihu. ...

  9. 【转】python 面向对象(进阶篇)

    [转]python 面向对象(进阶篇) 上一篇<Python 面向对象(初级篇)>文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 ...

随机推荐

  1. nc和telnet配合使用

    nc -l 9932 -c  用nc监听9932端口 telnet 180.150.184.115 29933  telnet 29932 端口

  2. 很不错的js特效

    这里有好多的js特效:http://www.jsfoot.com/jquery/images/qh/ jquery图片特效 jquery幻灯片 .... 有什么js需要可以到这里来下载:http:// ...

  3. Android Studio代码自己主动检測错误提示

    Android Studio的代码自己主动检測的错误提示方式感觉有点奇葩.和Eclipse区别非常大,Eclipse检測到某个资源文件找不到或者错误,都会在Project中相应的文件前面打叉.可是An ...

  4. FPGA 功耗结构设计

    1 相对于ASIC.FPGA是耗电器件,不适合超低功耗设计技术. 2 在CMOS技术中电路的动态功耗与门和金属引线的充放电有关,电容消耗电流的一般方程为 I=V* C*f V 是电压.对于FPGA来说 ...

  5. Linux下VLAN功能的实现 (转)

    1.Linux网络栈下两层实现 1.1简介     VLAN是网络栈的一个附加功能,且位于下两层.首先来学习Linux中网络栈下两层的实现,再去看如何把VLAN这个功能附加上去.下两层涉及到具体的硬件 ...

  6. mac下配置eclipse的maven环境

    转自:http://www.cnblogs.com/yqskj/archive/2013/03/30/2990292.html 1.下载maven的bin包,解压,配置到环境变量里面去 1). 首先到 ...

  7. Linq To Sql进阶系列(六)用object的动态查询与保存log篇

    动态的生成sql语句,根据不同的条件构造不同的where字句,是拼接sql 字符串的好处.而Linq的推出,是为了弥补编程中的 Data != Object 的问题.我们又该如何实现用object的动 ...

  8. Django 之 form表单

    Django中的Form表单 1.背景 平时我们在书写form表单时,经常都是手动的去写一些input标签,让用户输入一些功能,进行一些校验的判断,等等.Django中的form表单就能够帮我们去实现 ...

  9. DOM操作一

    1.通过ID选取元素 var section = document.getElementById("section1"); 2.通过ID查找多个元素 function getEle ...

  10. POJ 1737 Connected Graph(高精度+DP递推)

    题面 \(solution:\) 首先做个推销:带负数的压位高精度(加减乘+读写) 然后:由 \(N\) 个节点组成的无向图的总数为: \(2^{N*(N-1)/2}\) (也就是说这个图总共有 \( ...