IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python基础 -> 正文阅读

[Python知识库]Python基础

目录

基础

语句

列表

字符

元组

字典

集合

函数

文件

异常处理


  • 基础

????????1.注释? ? ? ??

?????????# 单行注释

???????? ''' '''? ?多行注释

#  单行注释
'''
三引号是多行注释
'''

? ? ? ? 2.变量? ??

#变量
a=10
b='dsds'
print("a =",a,"b=",b)

? ? ? ? 3.占位符、格式化输出

? ? ? ? ?“? % ”占位符

? ? ? ? %d为age变量的占位符

? ? ? ? 多个变量占位用? ? %(a,b)? 实现

#占位符、格式化输出
age=10
print("年龄为%d岁"%age)
age+=1
print("年龄为%d岁"%age)
name="yinshao"
country="china"
print("我的名字是",name,",我的国家是",country)
print("我的名字是%s,我的国籍是%s"%(name,country))

输出结果:

年龄为10岁
年龄为11岁
我的名字是 yinshao ,我的国家是 china
我的名字是yinshao,我的国籍是china

? ? ? ? 常见的格式符号

%s字符串
%d

十进制整数

%c字符
%f浮点数
%o八进制整数
%x十六进制整数

? ? ? ? ?4.转义字符

? ? ? ? 常见转义字符

? ? ? ? \t:制表? ? ?\n:换行? ? ?\r:回车

print("aaa","bbb","ccc")#默认间隔是空格
print("aaa","bbb","ccc",sep='.')#sep表示间隔
print("mmm")#每次打印默认自动换行
print("nnn",end=" ")#end表示尾部属性
print("xxx",end="\n")#换行
print("yyy",end="\r")
print("hello\nword")

输出结果:

aaa bbb ccc
aaa.bbb.ccc
mmm
nnn xxx
hello
word

? ? ? ? 5.输入与输出

????????

password=input("请输入密码:")
print("您输入的密码是:",password)
print(type(password))

输出结果:
请输入密码:123456
您输入的密码是: 123456
<class 'str'>

#可见使用input命令输入的数据类型为字符型

#若需要计算,则需要强制转换成整型或其他类型

m=input()
n=input()
print(m+n)

输出结果:

5
6
56

#不强制转换,输出的是字符串的拼接

#运算需要强制转换
x=int(input())
y=int(input())
print(x+y)

输出结果:

5
6
11

? ? ? ? 6.运算符(常见)

? ? ? ? 幂运算:**

? ? ? ? 除法:/

? ? ? ? 整除://

? ? ? ? 取模:%

j=2
k=3
print(2**3)#幂运算
print(j/k)#除法
print(j//k)#整除

输出结果:

8
0.6666666666666666
0

  • 语句

? ? ? ? #条件语句

????????if 判断条件1 :

????????执行语句1

????????elif 判断条件2:

????????执行语句2

????????else:

????????执行语句3

????????

if 1:
    print("TRUE")
if True:
    print("true")

输出结果:

TRUE
true

? ? ? ? Example:

score=52
if score>=90:
    print("A")
elif score>=80:
    print("B")
elif score >= 70:
    print("C")
elif score>=60:
    print("D")
else:
    print("not pass")

?输出结果:not pass

? ? ? ? #随机数的引入

????????import random(引用函数)

????????g=random.randint(0,100000)(括号里面是范围)

? ? ? ? #For循环

? ? ? ? for i? in? range (? 初(默认0),末,步长(默认1)? )??

? ? ? ? ? ? ? ? 执行语句

? ? ? ? for i? in? list str? 之类:

? ? ? ? ? ? ? ? 执行语句

for i in range(5):#[0,5)
    print(i)
print(" ")
for j in range(5,8):#[5,8)
    print(j)
print(" ")
for m in range(0,9,2):#[0,9)每次加2
    print(m)
name="zaozhuang"
for n in name:
    print(n,end="\t")#也可以遍历字符串
print("")
p=["sc","sdfsd","aabb","dssswwe"]
for h in range(len(p)):
    print(h,p[h])
print("len=",len(p))#len(p)表示数组长度

?输出结果:

0
1
2
3
4
?
5
6
7
?
0
2
4
6
8
z?? ?a?? ?o?? ?z?? ?h?? ?u?? ?a?? ?n?? ?g?? ?
0 sc
1 sdfsd
2 aabb
3 dssswwe
len= 4

? ? ? ? ?#While 循环

? ? ? ? while? 条件:

? ? ? ? ? ? ? ? 执行语句

mk=0
sum=0
while mk<=100:
    sum=sum+mk
    mk=mk+1
print(sum)

输出结果:5050

? ? ? ? #break:结束循环

? ? ? ? #continue:结束本次循环,以下不执行

aa=0
while aa<=5:
    print("*"*10)
    aa=aa+1
    if(aa==3):
        break#直接结束
    print(aa)
bb=0
while bb<=5:
    print("*"*10)
    bb=bb+1
    if(bb==3):
        continue#第五次循环时,以下不在执行
    print(bb)

输出结果:

1
**********
2
**********
**********
4
**********
5
**********
6
?

  • 列表

? ? ? ? 类似数组

定义:list[ ]

list1 =[1,"666","xiaohai",56,89,"wang","立",522]#元素可以是不同类型
list2=[23,"ds","dsdwd22"]
list=[]

? ? ? ? 1.列表的遍历

? ? ? ? 方法一:循环下标进行遍历

i=0
for i in range(0,len(list2)):
    print(list2[i])
    i=i+1

? ? ? ? 方法二:直接循环列表内元素

for j in list2:
    print(j)

? ? ? ? 方法三:枚举函数enumerate,同时输出下标及元素

????????

list1 =[1,"666","xiaohai",56,89,"wang","立",522]
for m,n in enumerate(list1):
    print("下标:",m,"元素:",n)

#m遍历列表的下标,遍历列表元素

输出结果:

下标: 0 元素: 1
下标: 1 元素: 666
下标: 2 元素: xiaohai
下标: 3 元素: 56
下标: 4 元素: 89
下标: 5 元素: wang
下标: 6 元素: 立
下标: 7 元素: 522

????????2.列表的切片

? ? ? ? list[起始:末:偏移量]? 左闭右开? 偏移量默认1

????#最左侧第一个字符,偏移量是 0,第二个偏移量是 1.直到 len(str)-1为止。
????#最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2.直到-len(str)为止。
list1 =[1,"666","xiaohai",56,89,"wang","立",522]
print(list1[1:6:2])
print(list1[6:1:-1])
print(list1[6:1:-2])

输出结果:

['666', 56, 'wang']
['立', 'wang', 89, 56, 'xiaohai']
['立', 89, 'xiaohai']

? ? ? ? 3.常用函数

? ? ? ? (1).增

? ? ? ? #append? 默认增加到尾部

? ??????list.append("增加的字符或列表")

list1 =[1,"666","xiaohai",56,89,"wang","立",522]
list1.append("yin")
print(list1)

输出结果:
[1, '666', 'xiaohai', 56, 89, 'wang', '立', 522, 'yin']

? ? ? ? #extend 在尾部新增列表

? ? ? ? list1.extend(list2)? ?? ?在list1后+list2

list1.extend(list2)
print(list1)

输出结果:

[1, '666', 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 23, 'ds', 'dsdwd22']

? ? ? ? #insert??

? ? ? ? list.insert(插入位置,插入值)

list3=[0,1,2]
list3.insert(1,56)#1号位插入56
print(list3)

? ? 输出结果:

[0, 56, 1, 2]

? ? ? ? (2).删

? ? ? ? #del? ?删除列表指定元素

? ? ? ? del list[删除元素的下标]

list1=[1, '666', 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 23, 'ds', 'dsdwd22']
del list1[1]
print(list1)

输出结果:

[1, 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 23, 'ds', 'dsdwd22']

? ? ? ? #pop? 删除最后一个元素

? ? ? ? list.pop()

list1=[1, 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 23, 'ds', 'dsdwd22']
list1.pop()
print(list1)

输出结果:
[1, 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 23, 'ds']

? ? ? ? #remove? 删除指定元素

? ? ? ? list.remove(删除的元素)? ?若有重复,只删除前面的

list1=[1, 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 23, 'ds']
list1.remove(23)
print(list1)

输出结果:

[1, 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 'ds']

? ? ? ? #clear?

? ? ? ? list.clear()? 删除所有元素

list6=[12,56,89,2,3]
list6.clear()
print(list6)

输出结果:

[ ]

? ? ? ? (3).改

? ? ? ? list[修改的位置下标]=修改的值

list1=[1, 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 'ds']
list1[8]="yao"
print(list1)

输出结果:

[1, 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 'yao']

? ? ? ? (4).查

? ? ? ? #in? ? ? ? ? ? ? ? ? ? ? ? ? ? ?not in? ? 判断元素是否在列表中,默认返回ture/flase

? ? ? ? 元素 in list

? ? ? ? 元素 not in list??

print("56" in list1)

输出结果:False

? ? ? ? #index 查询元素是否在某一区间的位置,返回下标

? ? ? ? ? ? ? ?list.index(查询元素,起始位置,末位置)? ?? ? 若有重复则输出第一个位置

list1=[1, 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 'yao']
print(list1.index("xiaohai",0,5))

输出结果:1

? ? ? ? # count? 某个元素出现的次数

? ? ? ? list.count(元素)? ??

list1=[1, 'xiaohai', 56, 89, 'wang', '立', 522, 'yin', 'yao']
print(list1.count("666"))

输出结果:0

? ? ? ? (4).排序

? ? ? ? #sort? ?由小到大排(纯数字或者全部强制转换同一类型)

? ? ? ? list.sort()? ?由小到大? ? ? ? ? ? ? ? list.sort(reserve=True)? 由大到小

list4=[2,5,3,1,48,0,2,6,9]
list4.sort()
print(list4)
list4.sort(reverse=True)
print(list4)

输出结果:

[0, 1, 2, 2, 3, 5, 6, 9, 48]
[48, 9, 6, 5, 3, 2, 2, 1, 0]

? ? ? ? 4.二维列表

? ? ? ? 列表作为列表的元素即为二维列表

? ? ? ? 调用:list[第一层位置][第二层位置]? 依次....

list5=[[12,45],["ds","wr","dswwdds"],["中国"]]
print(list5[1])
print(list5[1][1])

输出结果:

['ds', 'wr', 'dswwdds']
wr

? ? ? ? 5.小题目

????????8个老师随机分配到3个办公室

import random
office = [[],[],[]]
teacher = ["A","B","C","D","E","F","G","H"]
for name in teacher:
    index=random.randint(0,2)
    office[index].append(name)
k=0
for k in range(0,len(office)):
    print(office[k])
    k=k+1

输出结果:

1:

['G']
['A', 'E']
['B', 'C', 'D', 'F', 'H']
2:

['C', 'D', 'H']
['E', 'G']
['A', 'B', 'F']

  • 字符

? ? ? ? 1.字符串

? ? ? ? '一般字符串'? ? ? ? ? ? ? "一般句子"? ? ? ''' 一般段落 '''

word ='字符串'
sen= "这是一个句子"
par ="""
    这是一个段落
    可以写好几行
"""
print(word)
print(sen)
print(par)

输出结果:

字符串
这是一个句子

? ? 这是一个段落
? ? 可以写好几行


? ? ? ? 2.转义字符

? ? ? ? #? ?\ 使用可以输出一些具有特殊意义的字符? \n换行符?? ?rjia

a='\'' # \ 可以转义字符
b='I\'m a student'
print(a)
print(b)

print("hello\nzaozhuang")
print(r"hello\nzaozhuang")

输出结果:

'

hello
zaozhuang
hello\nzaozhuang


? ? ? ? ?3.切片

? ? ? ? #str[起始:末:偏移量]? 左闭右开? 偏移量默认1

???#最左侧第一个字符,偏移量是 0,第二个偏移量是 1.直到 len(str)-1为止。
???#最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2.直到-len(str)为止。
str1="zaozhuang"
print(str1)
print(str1[-8])
print(str1[1])
print(str1[0:3])#[0,3)
print(str1[0:9:2]) #[起始值:结束值:间隔值]
print(str1[-4:])#倒数四个
print(str1[-5:-3])#倒数5个到倒数第3个
print(str1[::-1])#间隔为1,反向输出
str2="ni hao"
print(str1+str2)#字符拼接
print(str1*3)

输出结果:

zaozhuang
a
a
zao
zohag
uang
hu
gnauhzoaz

zaozhuangni hao
zaozhuangzaozhuangzaozhuang

? ?4.函数? ? ?

# a='helLO'

a.capitalize()产生新的字符串,首字母大写HELLO
a.title()产生新的字符串,每个单词都首字母大写hello
a.upper()产生新的字符串,所有字符全转成大写HELlo
a.upper()产生新的字符串,所有字符全转成小写Hello
a.swapcase()产生新的,所有字母大小写转换Hello

aaa='helLO'
print(aaa.upper())    # 全部大写
print(aaa.lower())    # 全部小写
print(aaa.swapcase()) # 大小写互换
print(aaa.capitalize())   # 首字母大写,其余小写
print(aaa.title())    # 首字母大写

?输出结果:

HELLO
hello
HELlo
Hello
Hello

? ? ? ? ?#使用内置函数 ord()可以把字符转换成对应的 Unicode 码;

???????? #使用内置函数 chr()可以把十进制数字转换成对应的字符。

print(ord('a'))
print(ord('高'))
print(chr(66))

输出结果:
97
39640
B

? ? ? ? #字符串替换

? ? ? ? str.replace(代替换的字符,替换成)

bbb="dsssadaaedfrgtgfds"
bbb=bbb.replace('a','高')
print(bbb)

输出结果:dsss高d高高edfrgtgfds

? ? ? ? #分割与合并(生成列表)

???????split()可以基于指定分隔符将字符串分隔成多个子字符串(存储到列表中)。如果不指定分隔 符,则默认使用空白字符(换行符/空格/制表符)。

????????join()的作用和 split()作用刚好相反,用于将一系列子字符串连接起来。

? ? ? ? str.split() 见空格就分割

? ? ? ? str.split('1')见1就分割

? ? ? ? ' * '.join(str)? ?每一组之间插入*连接起来

cc= "to be or not to be"
print(cc.split())#见空格就分开
print(cc.split('be'))#见be直接拿出来
dd = ['sxt','sxt100','sxt200']
print('*'.join(dd))#在每组之间插入*

输出结果:

['to', 'be', 'or', 'not', 'to', 'be']
['to ', ' or not to ', '']
sxt*sxt100*sxt200

? ? ? ? #常用函数

len(a)字符串长度
a.startwith()以指定字符串开头
a.endwith()以指定字符串结尾
a.find()第一次出现指定字符串的位置
a.rfind()最后一次出现指定字符串的位置
a.count()指定字符串出现了几次
a.isalnum()所有字符全是字母或数字

ccc="""abcdddefghijklmnopqrstuvwxyz"""
print(len(ccc))
print(ccc.startswith("abcd"))
print(ccc.endswith('xyz'))
print(ccc.find('h'))
print(ccc.rfind('j'))
print(ccc.count('d'))
print(ccc.isalnum())

输出结果:

?28
True
True
9
11
3
True

  • 元组

? ? ? ? #Tuple? 元组

????????元组中的元素无法修改,但可以包含对象,列如list 元组写在小括号里,元素用,分开,定义只有一个元素的元组,也必须加”,“

t1=("abcd",789,2.236,'rabit',70.2)
t2=(2,)
t21=(2)
t3=(1,["asss",2],56)
t4=()#空元组
t3[1][0]="S"
print(t1)
print(t2)
print(type(t2))#有一个元素必须加逗号的原因
print(type(t21))
print(t3)

????????#二维元组 tuple

? ? ? ? tuple[第一层][第二层]...? ??

输出结果:

('abcd', 789, 2.236, 'rabit', 70.2)
(2,)
<class 'tuple'>
<class 'int'>
(1, ['S', 2], 56)

????????#切片(同理)

????????最右侧第一个字符,偏移量是-1,倒数第二个偏移量是-2.直到-len(str)为止。

????????最左侧第一个字符,偏移量是 0,第二个偏移量是 1.直到 len(str)-1为止。

t1=("abcd",789,2.236,'rabit',70.2)
print(t1[1:3])
print(t1[-2])
print(t1[1:5:2])

输出结果:

(789, 2.236)
rabit
(789, 'rabit')

????????#其他

? ? ? ? del tuple? ?删除整个元组,不能删除元素?

? ? ? ? count 记数

? ? ? ? 强制转换? tuple(list)

t5=(1,1,1,1,2,2,6,6)
print(t5.count(1))
print("/************************")
#强制转换
list=[1,2,"ff"]
t=tuple(list)
print(t)
print(type(list))
print(type(t))

输出结果:

(1, 2, 'ff')
<class 'list'>
<class 'tuple'>

  • 字典

? ? ? ? #dic? 字典? ?大括号表示

? ? ? ? dic={"key":value,....}? ? ?键-值—(key,value)? 键具有不变性,键必须唯一

? ? ? ? #访问

? ? ? ? dic["key"]? 直接访问不存在的key,会报错

? ? ? ? dic.get(key) 利用get()访问不存在的key,会返回none

? ? ? ? dic.get(key,自定义返回值) 访问不存在的key,会返回自定义的值

dic1={"A":95,"B":"baba","C":20,"D":"ezz","E":1}
print(dic1["A"])#访问  dic[key]
#访问不存在的key,直接访问会出错
#print(dic1[F])
print(dic1.get("F"))#使用get访问不存在的键,默认返回none
print(dic1.get("l",88))#get(key,设置返回值) 此键默认返回88

输出结果:

95
None
88

? ? ? ? #遍历

? ? ? ?遍历键???for key in dic.key():

? ? ? ? ? ? ? ? ????????print(key)

? ? ? ?遍历值? for value in dic.values():

????????????????????????print(value)

? ? ? ? 遍历键与值?for key,value?in dic.items():

???????????????????????????????? print("key is %s,value is %s"%(key,value))

????????

dic1={"A":95,"B":"baba","C":20,"D":"ezz","E":1}
for key in dic1.keys():#遍历键
    print(key)
print("*****")
for value in dic1.values():#遍历值
    print(value)
print("*****")
for key1,value1 in dic1.items():
    print("key is %s,value is %s"%(key1,value1))

输出结果:

A
B
C
D
E
F
*****
sha
baba
20
ezz
1
ssss
*****
key is A,value is sha
key is B,value is baba
key is C,value is 20
key is D,value is ezz
key is E,value is 1
key is F,value is ssss
?

? ? ? ? #其他函数

? ? ? ? (1)增

????????dic[new key]=new value

? ? ? ? (2)删

????????del dic[键] 删除该键及其对应的值

???????del dic 直接删除字典

???????clear 清空字典元素

? ? ? (3)改

????????dic["key"]='new value'

? ? ? (4)查

????????dic.keys()#得到所有的键(以列表形式)

????????dic.values() #得到所有的值(以列表形式)

????????dic.items() #得到所有的项(以列表(含有元组)形式)

dic1={"A":95,"B":"baba","C":20,"D":"ezz","E":1}
dic2={"a":2,"s":56,"sa0":26}
dic1["F"]="ssss"
print(dic1)
print("***************************")
dic2={"a":2,"s":56,"sa0":26}
#del dic[键]  删除该键及其对应的值
del dic2["s"]
print(dic2)
#del dic 直接删除字典
#del dic2
#print(dic2)
# clear 清空字典元素
dic2.clear()
print(dic2)
print("*********************")
dic1["A"]='sha'
print(dic1)
print("******************")
print(dic1.keys()) #得到所有的键(以列表形式)
print(dic1.values()) #得到所有的值(以列表形式)
print(dic1.items()) #得到所有的项(以列表(含有元组)形式)
print("*********************")

输出结果:

{'A': 95, 'B': 'baba', 'C': 20, 'D': 'ezz', 'E': 1, 'F': 'ssss'}
***************************
{'a': 2, 'sa0': 26}
{}
*********************
{'A': 'sha', 'B': 'baba', 'C': 20, 'D': 'ezz', 'E': 1, 'F': 'ssss'}
******************
dict_keys(['A', 'B', 'C', 'D', 'E', 'F'])
dict_values(['sha', 'baba', 20, 'ezz', 1, 'ssss'])
dict_items([('A', 'sha'), ('B', 'baba'), ('C', 20), ('D', 'ezz'), ('E', 1), ('F', 'ssss')])
*********************

  • 集合

? ? ? ? #定义

? ? ? ? set=[ ]? 集合无序性,无重合

set1=[1,"6566"]#定义set1=[]中括号
print(set1[0])#调用
s=set([1, 1, 1, 1, 11, 12, 2, 2, 22, 2])#强制转换为集合
print(s)#集合无序性  无重合

输出结果:

1
{1, 2, 11, 12, 22}
?

  • 函数

? ? ? ? #函数定义

? ? ? ? def? f(参数):

? ? ? ? ? ? ? ? 内容

? ? ? ? ? ? ? ? return 返回值(可以多个)

def f1():#不带参
    print("*"*10)
    print("函数定义")
    print("*"*10)
def f2(a,b):#带参
    c=a+b
    print(c)
def f3(a,b):#返回值
    return a+b,a-b#同时返回两个

? ? ? ? #函数调用

? ? ? ? f(参数)

f1()
f2(2,3)
print(f3(5,6))

? ? ? ? #变量类型

? ? ? ? 全局变量:主函数定义的变量

? ? ? ? 局部变量:函数里定义的变量

? ? ? ? 在函数中修改全局变量:global? m

m=100#全局变量
def t1():#局部#bian变量
    m=150
    print("t1 of m:%d"%m)

t1()
print("m:%d"%m)
def t2():
    global m#在函数中修改全局变量
    m=200#定义为global 为全局变量
    print("t2 of m:%d"%m)
t2()
print("m:%d"%m)

输出结果:

t1 of m:150
m:100
t2 of m:200
m:200

  • 文件

? ? ? ? #打开? 读写?

#f=open("文件名","模式")
f1=open("t1.txt","w")#打开文件,写入模式,若为这个文件,则新建
f1.write("hello worldhello worldhello world\nhello worldhello worldhello world\nhello worldhello worldhello worldhello world")#写入文件
f1.close()#关闭文件
f2=open("t1.txt","r")#只读,读文件,若文件不存在,则报错
a=f2.read(5)#读5个字符
print(a)
b=f2.read(6)#继承后面依次往后排
print(b)
c=f2.readlines()#继承上面,每一行按列表形式输出
print(c)
#f.readline 继承上面,一行一行输出
f2.close()

输出结果:

hello
?world
['hello worldhello world\n', 'hello worldhello worldhello world\n', 'hello worldhello worldhello worldhello world']

? ? ? ? #os应用

????????获取目录或文件名

filename = '/1234/year/month/day/hello.jpg'
print(os.path.basename(filename))
print(os.path.dirname(filename))

hello.jpg
/1234/year/month/day

????????返回指定目录下的所有文件名和目录名 ,返回的是一个列表

print(os.listdir('img'))
['file1']

????????创建目录【 mkdir / mkdir -p】

os.mkdir('img')
os.makedirs('img/file1/file2')

????????可以删除多层递归的空目录,若目录中有文件则无法删除

os.removedirs('img/file1/file2')

?????????不能递归删除目录,一层一层删

os.rmdir('img')
 
OSError: [Errno 39] Directory not empty: 'img'

????????创建文件 删除文件

os.mknod('00_ok.txt')
os.remove('00_ok.txt')

????????文件重命名

os.rename('data.txt','data1.txt')

????????判断文件或目录是否存在

print(os.path.exists('ips.txtyyyy'))
print(os.path.exists('/home/kiosk/PycharmProjects/2019python/ips.txt'))

False
True
  • 异常处理

#捕获异常
try:
    print("-------------------1")

    f1=open("t8.txt","w")

    print("-------------------2")
except IOError:
    print("error")
finally:#必执行
    print("文件关闭")
    f1.close()

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-26 12:02:42  更:2021-07-26 12:03:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 10:03:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码