『基本操作』

【查看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. FlashBuilder找不到所需要的AdobeFlashPlayer调试器版本的解决方案

    这个问题就是因为你所装的FlashPlayer不是调试器版本.如果你的FlashPlayer是调试版,那么你随便打开一个有Flash的页面,然后右键点击Flash,就会有一个调试器,菜单,当然它现在是 ...

  2. Indri和Terrier搜索引擎的使用

    介绍 Indri和Terrier都是开源的搜索引擎,当中Indri作为Lemur项目的一个重要部分,具有强大的查询接口,易建索引,可扩展,高效率等长处.能够在SourceForge Lemur Pro ...

  3. 字符串类型ip与数值型ip地址相互转换

    /** * 返回Integer类型的ip地址 * @return */ private static Integer ipToInt(){ String ip="192.168.1.201& ...

  4. 项目Beta冲刺(团队1/7)

    项目Beta冲刺(团队1/7) 团队名称: 云打印 作业要求: 项目Beta冲刺(团队) 作业目标: 完成项目Beta版本 团队队员 队员学号 队员姓名 个人博客地址 备注 221600412 陈宇 ...

  5. hdu4921 Map

    给最多10条链.每条链长度最大1000,链上每点有权值,每条链上按顺序,第i个点属于level[i]. 链上后一个点能够选的前提是前面的点都选了. 选择了一些点能够得到的分数是两部分加起来:1.所有点 ...

  6. Asp.net常用的51个代码(非常实用)

    1.//弹出对话框.点击转向指定页面 Response.Write("<script>window.alert('该会员没有提交申请,请重新提交!')</script> ...

  7. 设计模式学习笔记——State状态模式

    从一个类中,将有关状态的处理分离出来,独立成类,并面向接口编程.作用是可以简化代码,避免过多的条件判断:if-else-

  8. SpringBoot项目 部署到服务器的tomcat下

    把spring-boot项目按照平常的web项目一样发布到tomcat容器下 一.修改pom文件 修改打包方式 修改或增加maven插件 注意: 二.移除嵌入式tomcat插件 三.添加servlet ...

  9. 区分虚拟机和machine simulator

    1 虚拟机和machine simulator的不同 虚拟机是让多个操作系统同时共用现有的硬件架构,它不会模拟新的硬件架构.qemu这样的模拟器是模拟新的硬件架构,这个架构和host不同.

  10. Axure Base 10 动态面板滑动效果

    示例原型:http://pan.baidu.com/s/1mgjYahi 实现目标: 1.  点击登录滑出登录面板 2.  点击确定滑出动态面板 最终效果如下: 这种效果可以通过两种方法实现: 首先准 ...