一、文件操作

1、判断一个目录是否存在,若不存在则创建

if not os.path.isdir(new_path):

os.makedirs(new_path)

2、新建一个文件

f=open("filename",'w')

f.close()

首先会判断这个文件是否存在,若不存在则新建,。也可以在open和close直接f.write()函数写文件。

3、比较两个文件是否相同

import filecmp

filecmp.cmp(r'文件1',r'文件2')

如果两个文件相同。会出输出true。否则输出false

二、系统级操作

1、获取当前运行脚本所在目录

import sys

sys.path[0]

2、获取当前工作路径

import os

os.getcwd()

3、 获取系统时间

import time   
    time.strftime('%Y-%m-%d',time.localtime(time.time()))
    输出格式类似2010-07-19

三、数据库操作

1、连接数据库

import MySQLdb

conn=MySQLdb.connect(host=host1,user=user1,passwd=pass1,port=port1,db=dbname)

cur=conn.cursor()

cur.close()

conn.close()

cursor是用来执行命令的方法,close断开连接,可在connect和close直接进行数据库的操作

2、数据库操作

conn.select_db('python')

count=cur.execute('select * from test')

result=cur.fetchone()

results=cur.fetchmany(5)

results=cur.fetchall()

conn.commit()

select_db()选择数据库

execute()执行单条sql语句,返回值为受影响的行数

fetchone() 返回一条结果行

fetchmany(size)接收size条返回结果行.如果size的值大于返回的结果行的数量,则会返回cursor.arraysize条数据.

fetchall() 返回所有结果值

3、数据库连接失败抛出异常

try:    conn=MySQLdb.connect(host=host1,user=user1,passwd=pass1,port=port1,db=dbname)

except MySQLdb.Error,e:

print "Mysql Error %d:%s" % (e.args[0],e.args[1])

四、其他功能型操作

1、将元组的值转化成字符串,并输出到文件,用到string下的join函数

例:  import string

seq=("apple","pair","orange")

f =open("/data/cheriegong/python/test.data",'w')

f.write(' '.join(seq))

f.close()

使用string.join(list) ,会报错:TypeError: sequence item 0: expected string, int found
        li = range(10)

print '\n'.join(li)

因为join函数处理的list,元素必须是string。它不进行任何的强制类型转换。对于其他类型需要强制转换为字符串。

下面为正确的调用:

li = range(10)

print '\n'.join(str(item) for item in li)

2、将string转换成list

可以用split函数,但是很麻烦。可以使用eval函数比较方便。例:eval('[1, 2, "a"]') 可以得到list [1, 2, "a"]。大部分用str()函数生成的string,都能用eval()还原成原来的对象。

3、获取命令行输入的参数

首先,必须 from optparse import OptionParser 类,创建一个 OptionParser 对象:

parser = OptionParser()

然后,使用 add_option 来定义命令行参数:

parser.add_option("-f", "--file", action="store", type="string", dest="filename")

-f是短参数;--file是长参数,可选;type数据类型,默认为string;dest用来保存参数值得变量,如果没有指定将用参数名来对option对象的值进行存取,这里即为file。action可用值有store,store_true,stote_false等。 store_true 和 store_false,用于处理带命令行参数后面不带值的情况。

例:-v,-q 等命令行参数:

parser.add_option("-v", action="store_true", dest="verbose")

parser.add_option("-q", action="store_false", dest="verbose")

这样的话,当解析到 ‘-v’,options.verbose 将被赋予 True 值,反之,解析到 ‘-q’,会被赋予 False 值。

最后,一旦你已经定义好了所有的命令行参数,调用 parse_args() 来解析程序的命令行:

(options, args) = parser.parse_args()

parse_args() 返回的两个值:options,它是一个对象(optpars.Values),保存所有命令行参数值。只要知道命令行参数名,如 file,就可以访问其对应的值:options.file 。

例:

parser.add_option("-f", "--file", action="store", type="string", dest="filename")

args = ["-f", "foo.txt"]

(options, args) = parser.parse_args(args)

print options.filename

最后将会打印出 “foo.txt”。

4、打印0~9 十个数字

print "\n".join(str(i) for i in range(10))

也可以用for循环实现

for i in range(10):

print i;

5、import指定目录下的模块

将文件所在路径加入sys.path,sys.path是一个list。import sys;

sys.path.append("/home/a/")

import b

为了避免由于之前存在一个同名模块导致加载失败,使用以下方法:

import sys;

if not "/home/a/" in sys.path:

sys.path.append("/home/a/")

if not 'b' in sys.modules:

b = __import__('b')

else:

eval('import b')

b = eval('reload(b)')

此外,在相同目录下.py文件,可以直接被import。

python常用代码积累的更多相关文章

  1. 【转载】GitHub 标星 1.2w+,超全 Python 常用代码合集,值得收藏!

    本文转自逆袭的二胖,作者二胖 今天给大家介绍一个由一个国外小哥用好几年时间维护的 Python 代码合集.简单来说就是,这个程序员小哥在几年前开始保存自己写过的 Python 代码,同时把一些自己比较 ...

  2. python 常用代码

    获取标签名 h1 class 是h1usersoup.find(name="h1", attrs={"class":"h1user"});获 ...

  3. JS date常用代码积累

    Date.prototype.Format = function(fmt) { var o = { "M+" : this.getMonth()+1, //月份 "d+& ...

  4. python常用代码片段

    目录 Python3常用 文件处理 json处理 log日志 argparse使用 INIparser Python3常用 文件处理 class BaseMethod: @staticmethod d ...

  5. python常用代码、问题汇总

    1.生成dataframe数据 5.读取带 ','分隔符的txt文件 4.DataFrame格式数据处理中报错 2.安装库时出现如下错误: 3.得到股票交易日数据 1.生成dataframe数据 im ...

  6. C# 个人常用代码积累

    /// <summary> /// TextBox限制只能输入十六进制,且只能输入6个 /// </summary> /// <param name="send ...

  7. python常用代码

    #coding=utf-8 import urllib import re def getHtml(url): page = urllib.urlopen(url) html = page.read( ...

  8. shell常用代码积累

    1.使用getopts从命令行接收参数 例: while getopts h:u:p: OPTION do case $OPTION in h) echo "主机地址:$OPTARG&quo ...

  9. Python 常用 代码片段

    文件名字中含有特殊字符转成空格,因为?‘’等作为文件名是非法的.以下正则表达式进行过滤转换 newname = re.sub("[\s+\.\!\/_,$%^*(+\"\')]+| ...

随机推荐

  1. mysql-8.0.12安装和配置

    1.下载Mysql8.0.12压缩包.下载地址:https://dev.mysql.com/downloads/file/?id=480557 2.解压文件到本地指定目录.这里我的mysql根目录是: ...

  2. Linux-数据库2

    表记录的操作 增 1.插入一条记录 语法:insert [into] tab_name (field1,filed2,.......) values (value1,value2,.......); ...

  3. Hibernate 组合主键映射

    在开发过程中创建数据库表时,有时候会发现单纯的创建一个主键是不可行的,有时候就需要多个字段联合保持唯一,本文讲述如何创建组合主键的映射. 例如:记录一个班的考试成绩.学生跟科目是多对多的关系,只有一个 ...

  4. 【BZOJ 4596】 4596: [Shoi2016]黑暗前的幻想乡 (容斥原理+矩阵树定理)

    4596: [Shoi2016]黑暗前的幻想乡 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 324  Solved: 187 Description ...

  5. 【概率】【找规律】hdu6229 Wandering Robots

    题意:一个机器人在正方形迷宫的左上角,迷宫里有些格子有障碍物,每一步机器人会等概率地向能走的格子转移(包含自身).问你无限长的时间之后,机器人处于矩形对角线的右下方的概率. 无限长时间意味着,起点没有 ...

  6. JBoss 7 配置成windows启动服务

    将Jboss7 server 配置成一个windows启动服务的两个文件,部署步骤如下: 1.    先检查是否配置java_home和jboss_home的环境变量,如没配置上先配置,如我的是JBO ...

  7. bzoj 2483: Pku2279 Mr. Young's Picture Permutations -- 钩子公式

    2483: Pku2279 Mr. Young's Picture Permutations Time Limit: 1 Sec  Memory Limit: 128 MB Description   ...

  8. bzoj 3669: [Noi2014]魔法森林 -- 动点spfa

    3669: [Noi2014]魔法森林 Time Limit: 30 Sec  Memory Limit: 512 MB 动点spfa Description 为了得到书法大家的真传,小E同学下定决心 ...

  9. Zookeeper启动和集群选举

    1. QuorumPeerMain运行 1)判断是采用单实例模式还是多实例模式启动QuorumPeerMain 2)在多实例模式下,加载启动参数中指定的配置文件 3)启动QuorumPeer publ ...

  10. ruby -- 修改rubymine的字体大小

     rubymine编辑器默认的字体特别小,如何修改rubymine当中的字体大小?  首先,进入 setting\ide setting\editor\colors&fonts\font    ...