首页 > 代码库 > Python中常用的一些操作总结(持续更新)

Python中常用的一些操作总结(持续更新)

写在前面的话

其实也没有什么可以写的,或者说完全没有价值。因为你只要动一动手指就可以在Google上找到我要写的这些东西。只是我还不习惯好久没有碰我的blog,但是我又不想写没有价值的东西。或许有价值,只是在我一年两不编程的情况下,我会忘记那些我以前很熟悉的操作是怎么完成的,或许混到那个地步我的人生就开始悲剧了吧。总之,成长成我想要的样子我还是需要很长的路要走。

这一篇是会持续更新的,至少为了保证它看起来不那么水,也要让它持续更新



python中的进制转换

1.其他进制转换为10进制

所有的进制转换为10进制都可以归结为下面这条语句:

int(‘需要转换的数字’,原先的进制)

e.g.

#2进制转换为10进制

>>> int(‘1001‘,2)
9
>>> int(‘1010‘,2)
10


#8进制转换为10进制

>>> int("12",8)
10


#16进制转换为10进制

>>> int("fa",16)
250


>>> int("0xab",16)
171


2. 10进制转换为其他的进制

#10进制转换为2进制

>>> bin(10)
‘0b1010‘


#10进制转换为8进制

>>> oct(8)
‘010‘


#10进制转换为16进制

>>> hex(255)
‘0xff‘




3. 其他进制之间的转换

#2进制到16进制之间的转换

>>> hex(0b1001)
‘0x9‘


reference:

http://www.cppblog.com/aaxron/archive/2011/02/28/140785.html





Python中的目录操作

1.获取当目录

使用os.getcwd()

>>> import os
>>> path=os.getcwd()
>>> path
'D:\\Python27'

2.修改当前的路径

使用os.chdir(‘需要跳转的路径‘)

import os
os.chdir('F:/')
os.getcwd()
'F:\\'

3.创建子目录

os.makedirs("path")

比如说在你的F:盘下面有一个python的文件夹,你在里面穿件一个test的文件夹可以如下编写:

>>> os.makedirs("test")
>>> os.chdir("test")
>>> os.getcwd()
'F:\\python\\test'
>>> os.listdir(".")
[]

首先用makedirs()命令来创建一个test目录这个时候用chdir("path")跳转进去可以用getcwd()来查看我们已经执行成功了


4.获取目录中的文件以及子目录的列表

使用os.listdir("path")
注意这里可以包含了隐藏的文件夹

 os.listdir("F:/")
['$RECYCLE.BIN', '360Downloads', '7\xd4\xc2\xbf\xce\xb3\xcc', 'Android', 'Androidtool', 'baidu download', 'baidu player', 'Cygwin64', 'Downloads', 'eclipse', 'eclipse-java-juno-SR2-win32-x86_64.zip', 'FFOutput', 'GouWoGames', 'kankan', 'KuGouCache', 'KwDownload', 'LatexWS', 'Media', 'ProgramData', 'python', 'QQMusicCache', 'readelf', 'root', 'System Volume Information', 'VSPath', 'WekaData', 'WOJ', 'workspace', 'YY', '\xbc\xd3\xb9\xcc\xd3\xa6\xd3\xc32', '\xd5\xd5\xc6\xac', '\xc8\xed\xbc\xfe\xb0\xb2\xd7\xb0\xb0\xfc', '\xd1\xb8\xc0\xd7\xcf\xc2\xd4\xd8', '\xcf\xe3\xb8\xdb\xc9\xea\xc7\xeb']

如果你的python文件是放在你所需要的目录里或者说是当前文件夹下,我们要获取器列表可以这么做:

>>> os.getcwd()
'F:\\python'
>>> os.listdir(".")
['.metadata', '.project', '.pydevproject', '123', '123.py', 'addfields.py', 'addfileds.py', 'addtest.py', 'databasekeywordsabstract', 'digits', 'digits.zip', 'ex1.py', 'ex2.py', 'ex3.py', 'ex4.py', 'ex5.py', 'ex6.py', 'ex7.py', 'ex7.pyc', 'ex8.py', 'ex9.py', 'ez_setup.py', 'getPath', 'getPath.py', 'keywords.py', 'KNN.py', 'KNN.pyc', 'kNNtest.py', 'new  1.py', 'new.py', 'privacyKeys.py', 'privacyKeys1.py', 'privacyPolicyKeywords1.py', 'PrivacyPolicyTest.py', 'text.txt']

代码获取了路径为python下的所有文件文件及其子目录的列表



5.创建一个新文件

当我们创建好了文件夹之后,要做其中创建一个文件并写入一些内容相当于linux下的touch 命令,这个时候可以借助文件的读写方式来创建它们。
#创建前
>>> os.getcwd()
'F:\\python\\test'
>>> os.listdir(".")
[]
#创建后
>>> file1=open("test1.txt",'w+')
>>> os.listdir(".")
['test1.txt']


开始的时候我们没有创建文件,可以看到目录下没有任何东西,我们以读写的方式打开一个文件的时候,这个时候系统就为我们创建了一个文件出来
这个时候你就可以向文件里写入东西了
一般调用的函数就是f.write(string),f.writelines()

>>> file1.write("abcdd")
>>> file1.write("hello,world")
>>> file1.close()

打开文件你就可以看见相应的内容

注意每次调用一次file1=open("test1.txt",‘w+‘),同一个文件内容是会被清空的。


6.分解路径为目录名和文件名

os.path.split("path")
看到这个,应该很好记忆,将路径分解,所有要有个path,然后分解就是split

>>> a,b=os.path.split("F:\\python\\test\\test1.txt")
>>> a
'F:\\python\\test'
>>> b
'test1.txt'
>>> 

如果你写惯了C语言,你会不会觉得有点奇怪,就是左边的那个赋值,它有两个值,一个付给了a,一个给了b,这个就是python自由的地方,其实这里是个list,其实你也可以这么做
>>> portion=os.path.split("F:\\python\\test\\test1.txt")
>>> portion[0]
'F:\\python\\test'
>>> portion[1]
'test1.txt'

不知道你看明白了没有

7.分解文件名和扩展名

os.path.splitext()
看到这个其实也非常好记忆
split是分割的意思,extension是扩展的意思,要了前3个字母
在来看代码:
>>> portion=os.path.splitext("F:\\python\\test\\test1.txt")
>>> portion[0]
'F:\\python\\test\\test1'
>>> portion[1]
'.txt'

这个东西有什么,看起来有点奇怪,或许你未来的某一天会用到,修改文件的后缀名。

例如我碰到的一个情况,要把apk文件中的classes.dex文件拉出来,apk不好拉,改成zip在把它拖出来。然后就有了下面的这样一段代码
import os

files = os.listdir(".")

for filename in files:
    portion = os.path.splitext(filename)

    if portion[1]==".apk":
        newname = portion[0] + ".zip"

        os.rename(filename,newname)


或许你可以看看下面的参考资料,写的不错。

reference:

http://www.cnblogs.com/zhoujie/archive/2013/04/10/python7.html



一写就是2个半小时,或许我真的该写点有价值的东西,时间该用来做更有价值的事情吧~我又不会睡觉了


















hey,how is going?

winter is coming. you know what, I miss you.I really miss you, I really miss you so much

maybe this is the most warm winter I have experienced.

The temperature is really wonderful,not too cold, just like that night you said , "hey, let‘s go home"

I think my brain must be damage at that time. Why I responded, oh, I wanted to read some book ?

You know, the KW will be moved before the Christmas, I really miss there. Because of you.

Maybe you never how noisy you are. You always kick the keyboard loudly and quickly. Everytime it

just made me crazy, I always think why you always want to show off your excellent typing skill??

It‘s really very noisy!!haha~ hope every is ok in the other side of the huge earth. maybe you holiday is coming,enjoy it 

I miss you, byebye 2014














Python中常用的一些操作总结(持续更新)