open()函数
# import requests # response = requests.get('https://img1.baidu.com/it/u=154097372,2057783014&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500') # with open('girl.jpg',mode='wb')as f: # f.write(response.content)
seek的使用
f = open("filetest2.txt", mode="rb") ''' filetest2.txt helloworld 你好 ''' # 改变指针位置 """ offset: 偏移量 whence: 0 从文件头开始 1 当前位置开始 2 文件尾 注意,当offset值非0时,Python要求文件必须要以二进制格式打开, 否则会抛出 io.UnsupportedOperation 错误。 """ print(f.tell()) # 读取一个字节,文件指针自动后移1个数据 print(f.read(1)) print(f.tell()) # 将文件指针从文件开头,向后移动到 5 个字符的位置 f.seek(5) print(f.tell()) print(f.read(1))
0
b'h'
1
5
b'w'进程已结束,退出代码0
作业
print() """ 定义一个函数,向函数内传入形参num, num1, num2, 如果num小于100,则计算num1 和 num2的积并打印; 否则计算num1和num2的和,然后打印输出。 """ num = int(input('请输入你的num值:')) num1 = int(input('请输入你的num1值:')) num2 = int(input('请输入你的num2值:')) def asd(num, num1, num2): if num < 100: result = num1 * num2 return result else: result = num1 + num2 return result print(asd(num, num1, num2))
请输入你的num值:44
请输入你的num1值:11
请入你的num2值:22
242进程已结束,退出代码0
作业10
""" 1、编写一个 Python 函数,接受一个正整数 n 作为参数,返回斐波那契数列的前 n 个数字。 斐波那契数列是一个数列,其中每个数字都是前两个数字的和,第一个数字是 0,第二个数字是 1,例如: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 使用递归完成 2、用python创建文件data.txt,共100行,每行循环存放一个1~100之间的整数。 """ def fei(n): if n == 0: return 0 elif n == 1 or n == 2: return 1 else: return fei(n - 1) + fei(n - 2) print (fei(4)) import random f = open('data.txt', mode='w', encoding='utf-8') for i in range(1, 101): f.write(str(random.randint(1,100))) f.write('\n')
3
进程已结束,退出代码0
列表中字典数据排序
# 列表中的字典排序 # 需求:假设我们需要对字典中的年龄进行排序 user_list = [ {"name": 'zhangsan1', 'age': 18}, {"name": 'lisi1', "age": 19}, {"name": 'wangwu1', "age": 17} ] def getAge(element): # element 元素 return element['age'] # 传递给key参数的是一个函数,它指定可迭代对象中的每一个元素来按照该函数进行排序 user_list.sort(key=getAge,reverse=True) print(user_list) # 我们需要使用匿名函数,使用sort函数中的key这个参数,来指定字典比大小的方法 # reverse参数控制升序与降序排列 user_list.sort(key=lambda x:x['age'],reverse=True) print(user_list)
3
进程已结束,退出代码0
匿名函数
# def add(x, y): # return x+ y # print(add(3,4)) # # # add = lambda x,y:x+y # print(add(3,4)) import random # 随机模块的库 # 无参数 # sdds = lambda: random.random() # (0,1) # print(sdds()) # 一个参数 # fun1 = lambda x: x # print(fun1('hello python')) # # 默认参数 (缺省参数) # fun2 = lambda a, b, c=100: a + b + c # print(fun2(10,19,1000)) # # # 可变参数之args 元组 () # fun3 = lambda *args: args # print(fun3((1,2,3,4,5))) # # # 可变参数之kwargs # fun4 = lambda **kwargs: kwargs # print(fun4(name='yueyue',age=18,height='178cm')) # # 带判断的lambda表达式 asd = lambda x: x if x > 10 else 10 print(asd(5)) #### 它是以下带有def和return 关键字的普通函数的更简单版本: def fun(x): if x > 10: return x else: return 10 print(fun(5))
10
10进程已结束,退出代码0
批量重命名
import os print(os.getcwd()) # 先切换路径 os.chdir('testsad') print(os.getcwd()) # 遍历此路径下的文件 file_list = os.listdir(os.getcwd()) print(file_list) for file in file_list: # 循环拼接 new_name = "python_" + file # print(new_name) os.rename(file, new_name)
['python_test1', 'python_test2', 'python_test3']
进程已结束,退出代码0
文件与文件夹操作
import os print(os.getcwd()) # os.chdir('D:') # print(os.getcwd()) # os.rmdir('sss') # 不区分大小写 # os.makedirs('aaa\\bb\\ccc') if not os.path.exists('filetest.txt'): os.mkdir('filetest.txt')
C:\Users\LENOVO\PycharmProjects\pythonProject\day10文件操作
进程已结束,退出代码0
文件备份
old_name = input("请输入文件名:") index = old_name.rfind(".") new_name = old_name[:index]+"备份"+old_name[index:] # 老文件 old_f = open(old_name,"r") # 新文件 new_f = open(new_name,"w") # 读取老文件中所有的数据 cont = old_f.readlines() print(cont) # 写入读取的所有数据 new_f.writelines(cont) old_f.close() new_f.close()
文件对象方法
# f = open('filetest.txt', mode='w', encoding='utf-8') # """w模式如果文件不存在会自动创建文件 如果存在则会继续后面的代码操作 """ # print(f.writable()) # # f.write('123456') # f.writelines('123\n456') # 将之前文件的东西进行覆盖 # 创建并打开一个文件 file # f = open('filetest.txt', mode='a', encoding='utf-8') # # 对文件的操作 # print(f.write('\n123456')) # 长度 # f.writelines('\n123\n456') # # # 关闭文件 # f.close() # 使用r模式去打开文件是 文件是必须存在的 如果文件不存在则对应报filenotfounderror错 # f = open('filetest2.txt', mode='r', encoding='utf-8') # # 判断是否可读 # print(f.readable()) # # 逐行读取 # # print(f.readline(),end='') # # 读取所有 返回值为列表 # # print(f.readlines()) # # # 读取文件全部内容 # print(f.read()) f = open("filetest2.txt", mode="r", encoding="utf-8") ''' filetest2.txt helloworld 你好 ''' # 汉字代表三个字节 换行代表两个字节 字母数字代表的是一个字节 3.10以上的版本可能有一点点不一样 print(f.tell()) print(f.readline(), end="") print(f.tell()) print(f.readline()) print(f.tell())
0
helloworld
12
你好
18进程已结束,退出代码0