『基本操作』

【查看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. 读取xml生成lua測试代码

    #include <iostream> #include <string> #include <fstream> #include "tinyxml2.h ...

  2. Linux安装配置Redis CentOS 7 下安装Redis

    Redis是一个高性能的,开源key-value型数据库.是构建高性能,可扩展的Web应用的完美解决方案,可以内存存储亦可持久化存储.因为要使用跨进程,跨服务级别的数据缓存,在对比多个方案后,决定使用 ...

  3. layer弹层

    获得 layer 文件包后,解压并将 layer 整个文件夹(不要拆分结构) 存放到你项目的任意目录,使用时,只需引入 layer.js 即可. 注意:引入layer.js前必须先引入jquery1. ...

  4. Xammp修改端口

    How can I get XAMPP working on port 80 under Windows 10? By default, Windows 10 starts Microsoft IIS ...

  5. python实现斐波那契查找

    通过在网上找教程解释和看书,总结出一套比较简单易懂的代码实现. 斐波那契查找和二分查找一样,针对的是有序序列,在此前提下: # 先创建一个Fibonacci函数 fib = lambda n: n i ...

  6. 十天学习PHP之第二天

    学习目的:学会构建数据库  在ASP中,假设是ACCESS数据库你能够直接打开ACCESS来编辑MDB文件,假设是SQL SERVER你能够打开企业管理器来编辑SQL SERVER数据库.可是在PHP ...

  7. vue 单页面(SPA) history模式调用微信jssdk 跳转后偶尔 "invalid signature"错误解决方案

    项目背景 vue-cli生成的单页面项目,router使用history模式.产品会在公众号内使用,需要添加微信JSSDK,做分享相关配置. 遇到的问题 相关配置与JS接口安全域名都已经ok,发布后, ...

  8. POJ 2586 Y2K Accounting Bug(枚举大水题)

    Y2K Accounting Bug Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 10674   Accepted: 53 ...

  9. Springboot读取自定义的yml文件中的List对象

    Yml文件(novellist.xml)如下: novellist:   list:     - name: 笑傲江湖       type: 武侠       master: 令狐冲       a ...

  10. HDU 6108 小C的倍数问题 【数学】 (2017"百度之星"程序设计大赛 - 初赛(A))

    小C的倍数问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Sub ...