Python入门经典实例Word文件下载.docx
- 文档编号:18517065
- 上传时间:2022-12-18
- 格式:DOCX
- 页数:15
- 大小:21.66KB
Python入门经典实例Word文件下载.docx
《Python入门经典实例Word文件下载.docx》由会员分享,可在线阅读,更多相关《Python入门经典实例Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。
3列表
-*-
#列表类似Javascript的数组,方便易用
#定义元组
word=['
a'
'
b'
c'
d'
e'
f'
g'
]
#如何通过索引访问元组里的元素
a=word[2]
a
is:
+a)
b=word[1:
3]
b
(b)
index
1
and
2
elements
of
word.
c=word[:
2]
(c)
0
d=word[0:
d
(d)
All
#元组可以合并
e=word[:
2]+word[2:
e
(e)
f=word[-1]
f
(f)
The
last
g=word[-4:
-2]
g
(g)
3
4
h=word[-2:
h
(h)
two
elements.
i=word[:
i
(i)
Everything
except
the
characters
l=len(word)
Length
word
+
str(l))
Adds
new
element"
word.append('
h'
(word)
#删除元素
del
word[0]
word[1:
列表长度是动态的,可任意添加删除元素.
用索引可以很方便访问元素,甚至返回一个子列表
更多方法请参考Python的文档
4字典
x={'
:
aaa'
bbb'
12}
(x['
])
for
key
in
x:
Key
%s
value
%s"
(key,x[key]))
将他当Java的Map来用即可.
5字符串
比起C/C++,Python处理字符串的方式实在太让人感动了.把字符串当列表来用吧.
word="
abcdefg"
+b)
+c)
+d)
+e)
+f)
+g)
+h)
+i)
中文和英文的字符串长度是否一样?
s=input("
输入你的中文名,按回车继续"
);
你的名字是
+s)
l=len(s)
你中文名字的长度是:
+str(l))
∙类似Java,在python3里所有字符串都是unicode,所以长度一致.
6条件和循环语句
#条件和循环语句
x=int(input("
Please
enter
an
integer:
))
if
x<
0:
x=0
Negative
changed
zero"
elif
x==0:
Zero"
else:
More"
Loops
List
=
['
cat'
window'
defenestrate'
x
a:
(x,
len(x))
#知识点:
条件和循环语句
如何得到控制台输入
7函数
def
sum(a,b):
return
a+b
func
sum
r
func(5,6)
(r)
提供默认值
add(a,b=2):
r=add
(1)
r=add(1,5)
一个好用的函数
range()
function
=range
(1,10)
(i)
range(-2,-11,-3)
3rd
parameter
stands
step
∙Python不用{}来控制程序结构,他强迫你用缩进来写程序,使代码清晰.
∙定义函数方便简单
∙方便好用的range函数
8异常处理
age:
s
=="
raise
Exception("
must
no
be
empty."
try:
i=int(s)
Exception
as
err:
print(err)
finally:
Clean
up
action
Goodbye!
9文件处理
对比Java,python的文本处理再次让人感动
spath="
D:
/download/baa.txt"
f=open(spath,"
w"
)
Opens
file
writing.Creates
this
doesn'
t
exist.
f.write("
First
line
1.\n"
f.writelines("
2."
f.close()
r"
reading
f:
每一行的数据是:
%line)
∙open的参数:
r表示读,w写数据,在写之前先清空文件内容,a打开并附加内容.
∙打开文件之后记得关闭
10类和继承
class
Base:
__init__(self):
self.data
[]
add(self,
x):
self.data.append(x)
addtwice(self,
self.add(x)
Child
extends
Base
Child(Base):
plus(self,a,b):
oChild
=Child()
oChild.add("
str1"
(oChild.data)
(oChild.plus(2,3))
self:
类似Java的this参数
11包机制
每一个.py文件称为一个module,module之间可以互相导入.请参看以下例子:
#a.py
add_func(a,b):
b.py
from
import
add_func
Also
can
a
Import
module
a"
Result
plus
(add_func(1,2))
If
using
then
here
should
a.add_func"
module可以定义在包里面.Python定义包的方式稍微有点古怪,假设我们有一个parent文件夹,该文件夹有一个child子文件夹.child中有一个modulea.py.如何让Python知道这个文件层次结构?
很简单,每个目录都放一个名为_init_.py的文件.该文件内容可以为空.这个层次结构如下所示:
parent
--__init_.py
--child
--
__init_.py
--a.py
那么Python如何找到我们定义的module?
在标准包sys中,path属性记录了Python的包路径.你可以将之打印出来:
sys
print(sys.path)
通常我们可以将module的包路径放到环境变量PYTHONPATH中,该环境变量会自动添加到sys.path属性.另一种方便的方法是编程中直接指定我们的module路径到sys.path中:
os
sys.path.append(os.getcwd()+'
\\parent\\child'
add_func
(sys.path)
(add_func(1,2))
∙如何定义模块和包
∙如何将模块路径添加到系统路径,以便python找到它们
∙如何得到当前路径
12内建帮助手册
对比C++,Java的突出进步是内建Javadoc机制,程序员可以通过阅读Javadoc了解函数用法.Python也内建了一些方便函数以便程序员参考.
∙dir函数:
查看某个类/对象的方法.如果有某个方法想不起来,请敲dir.在idle里,试试dir(list)
∙help函数:
详细的类/对象介绍.在idle里,试试help(list)
1遍历文件夹和文件
import
os.path
#
os,os.path里包含大多数文件访问的函数,所以要先引入它们.
请按照你的实际情况修改这个路径
rootdir
=
"
d:
/download"
for
parent,
dirnames,
filenames
in
os.walk(rootdir):
#case
1:
for
dirname
dirnames:
("
parent
+
parent)
dirname
dirname)
2
filename
filenames:
filename
with
full
path
os.path.join(parent,
filename))
知识点:
os.walk返回一个三元组.其中dirnames是所有文件夹名字(不包含路径),filenames是所有文件的名字(不包含路径).parent表示父目录.
case1
演示了如何遍历所有目录.
case2
演示了如何遍历所有文件.
os.path.join(dirname,filename)
将形如"
/a/b/c"
和"
d.java"
变成/a/b/c/d.java"
.
2分割路径和文件名
#常用函数有三种:
分隔路径,找出文件名.找出盘符(windows系统),找出文件的扩展名.
#根据你机器的实际情况修改下面参数.
spath="
D:
/download/repository.7z"
case
p,f=os.path.split(spath);
print("
dir
+p)
file
+f)
2:
drv,left=os.path.splitdrive(spath);
driver
+drv)
left
+left)
3:
f,ext=os.path.splitext(spath);
f
ext
+ext)
这三个函数都返回二元组.
分隔目录和文件名
分隔盘符和文件名
case3
分隔文件和扩展名
总结:
5个函数
∙os.walk(spath)
∙os.path.split(spath)
∙os.path.splitdrive(spath)
∙os.path.splitext(spath)
∙os.path.join(path1,path2)
3复制文件
shutil
src="
\\download\\test\\myfile1.txt"
dst="
\\download\\test\\myfile2.txt"
dst2="
/download/test/测试文件夹.txt"
dir1=os.path.dirname(src)
dir1
%s"
%dir1)
if(os.path.exists(src)==False):
os.makedirs(dir1)
f1=open(src,"
w"
)
f1.write("
line
a\n"
b\n"
f1.close()
shutil.copyfile(src,
dst)
dst2)
f2=open(dst,"
r"
f2:
print(line)
f2.close()
#测试复制文件夹树
try:
srcDir="
/download/test"
dstDir="
/download/test2"
#如果dstDir已经存在,那么shutil.copytree方法会报错!
#这也意味着你不能直接用d:
作为目标路径.
shutil.copytree(srcDir,
dstDir)
except
(err)
shutil.copyfile:
如何复制文件
os.path.exists:
如何判断文件夹是否存在
shutil.copytree:
如何复制目录树
4个函数
∙os.path.dirname(path)
∙os.path.exists(path)
∙shutil.copyfile(src,dst)
∙shutil.copytree(srcDir,dstDir)
4实战:
文件备份小程序
datetime
作用:
将目录备份到其他路径。
实际效果:
假设给定目录"
/media/data/programmer/project/python"
,
备份路径"
/home/diegoyun/backup/“
则会将python目录备份到备份路径下,形如:
/home/diegoyun/backup/yyyymmddHHMMSS/python/xxx/yyy/zzz
..
用法:
更改这两个参数.
backdir:
备份目的地.
copydirs:
想要备份的文件夹.
def
mainLogic():
#add
dirs
you
want
copy
backdir="
\\test"
print(backdir)
copydirs=[]
copydirs.append("
\\temp"
);
#copydirs.append("
d:
\\test"
print("
Copying
files
==================="
start=datetime.datetime.now()
#gen
data
folder
backup
backdir=os.path.join(backdir,start.strftime("
%Y-%m-%d"
))
#print("
backdir
+backdir)
kc=0
kc=kc+copyFiles(d,backdir)
end=datetime.datetime.now()
Finished!
Total
str(kc)
Elapsed
time
str((end-start).seconds)+"
seconds"
copyFiles(copydir,backdir):
prefix=getPathPrefix(copydir)
prefix
+prefix
i=0
dirpath,dirnames,filenames
os.walk(copydir):
name
oldpath=os.path.join(dirpath,name)
newpath=omitPrefix(dirpath,prefix)
backdir
+backdir
newpath=os.path.join(backdir,newpath)
newpath
+newpath)
if
os.path.exists(newpath)!
=True:
os.mak
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Python 入门 经典 实例