12 #在不关闭文件的情况下读取文件的内容
13 filewirte1 = open('a.txt',"r+")
14 filewirte1.write("lreanlreanstart")
15
16 filewirte1.seek(0,0) #把光标定位到开始,读取全部文件内容
17 str = filewirte1.read()
18 print(str)
19
20 # s = filewirte1.seek(0,2) #把光标定位到文件末尾打印有多少字符
21 # print(s)
22
23 filewirte1.seek(0,0)
24 # filewirte1.truncate() #删除时需先定位到开头位置,删除的是全部
25 filewirte1.truncate(2) #删除时需先定位到开头位置,保留前两位字符
26
27 filewirte1.close()
# 思路:
# 1、看到遍历首先想到for循环
# 2、循环需要有要循环的参数,os.listdir()获取文件及其目录
# 3、打印出完整的路径需要进行路径的拼接
# 4、需要os.path.join进行路径的拼接
1 def print_dir(filepath):
2 for i in os.listdir(filepath): #获取目录中的文件及子目录列表
3 print(os.path.join(filepath,i)) #把路径组合起来
4 filepath = "C:\Program Files"
5 print_dir(filepath)
# 思路:
# 1、这题比上一题多了一步,就是还需要遍历目录及其下边的文件进行打印
# 2、首先想到递归查询
# 3、看到上题已经遍历出来了,我再遍历一下是否是目录,再递归下
# 4、把文件下所有的文件和目录进行拼接打印
# 5、遍历是否是一个文件,想到os.path.isdir判断是否为目录的方法
# 6、有了方法就判断下是就可以啦,让我想到了if语句
# 7、if判断完了直接调下主函数就达到遍历的效果啦
1 def show_dir(filepath):
2 for i in os.listdir(filepath):
3 path = (os.path.join(filepath,i))
4 print(path)
5 if os.path.isdir(path):
6 show_dir(path)
7
8 filepath = "C:\Program Files\Internet Explorer"
9 show_dir(filepath)
# 思路:
# 准备:根据课上练习的遍历目录及其下的文件
# 1、递归显示指定目录及下的文件
# 2、判断文件是否是以.html后缀,再进行打印
1 def print_dir(filepath):
2 for i in os.listdir(filepath):
3 path= os.path.join(filepath,i)
4 # print(path)
5 if os.path.isdir(path):
6 print_dir(path)
7 if path.endswith(".html"):
8 print(path)
9
10 filepath = "D:\PycharmProjects\cs"
11 print_dir(filepath)
# 另外!!!
string = "abcde"
print(string[0:5:1]) #打印下标从0到4的字符,步长为正向 1
# 思路:
#zheng函数打印从0到4,步长为整向+1。相当于range(3)打印0,1,2
1 def zheng(string):
2 rt = ''
3 for i in range(0, len(string), 1):
4 print(i)
5 rt += string[i]
6 return rt
7 string = "abcd"
8 print(zheng(string))
# 思路:
#len(string1)-1是取字符串的最后一位,返回取值步长为-1
#中间一位-1其实只取值到0,达到字符串的反转
1 def dao(string):
2 tr = ''
3 for i in range(len(string1)-1, -1, -1):
4 print(i)
5 tr += string1[i]
6 return tr
7 string1 = "qwert"
8 print(dao(string1))
#字符串的反转另外一种方式:
1 def reverse_str(string):
2 return string[::-1]
3 string = "abcd"
4 print(reverse_str(string))