编程技术是改变世界的力量。
本站
当前位置:网站首页 > 后端语言 > 正文

从零开始学Python(七):文件读写(python 文件读写方法)

gowuye 2024-04-25 04:44 10 浏览 0 评论

从零开始学Python:Python入门介绍

从零开始学Python(二):循环语句、判断语句

从零开始学Python(三):while循环、break、contine

从零开始学Python(四):列表详解

从零开始学Python(五):列表,元组,字典,函数


01-函数参数

# 函数的函数名存放的是内存地址
# 函数名() ==> 到对应的内存地址中去执行代码
def func01():
    print("你好")


def func02(func):
    func()


func02(func01)

02-匿名函数

# def func01():
#     return 100
#
#
# def func02(func):
#     ret = func()
#     print(ret)
#
#
# func02(func01)

# 匿名函数
# 这个表达式可以创建函数
# 函数的名字是fn
# 函数没有参数
# 函数返回值为100
# def fn():
#    return 100
# fn = lambda: 100
# ret = fn()
# print(ret)
#
# def func02(func):
#     ret = func()
#     print(ret)
#
#
# func02(lambda : 100)

def func(a, b):
    print("123")
    return a + b


# fn = lambda a, b: a + b
# 打印的是内存地址
# print(func)
# 调用函数func(1,2)
print(func(1,2))

03-匿名函数的应用

# 匿名函数可以让我们不仅仅可以传递不同的变量参数 也可以传递计算状态(计算公式)
# func函数相当于一个计算器
def func(count):
    a = 10
    b = 20
    result = count(a, b)
    print(result)

# 传递相加
func(lambda a, b: a + b)
# 传递相减
func(lambda a, b: a - b)
# 传递相乘
func(lambda a, b: a * b)
# 传递相除
func(lambda a, b: a / b)

04-打开文件

# 1 打开文件
# 参数1: 文件路径
# 参数2: 打开的方式
# 参数3: encoding编码格式(utf8, gbk)
f = open("./a.txt", "r", encoding="utf8")
# read的参数
# 1 不设置的就是读取所有的内容
# 2 读取的数据大小(字节为单位的)
# 3 可以接受读取的数据
data = f.read(1024)
print(data)
# 关闭文件
f.close()

05-路径问题

# 相对路径 :  参照物是以当前路径为参照物
# "."   :  当前路径(就是你的运行的代码在哪个路径就是当前路径)
# ".."  :  上一级路径
# 绝对路径 :  从头开始完整的路径信息
f1 = open("../../a.txt")
f2 = open("/Users/xiechen/Desktop/70期/day07/代码/05-路径问题.py")

06-写入数据

# 文件对象
# 文件操作方式:
# 1 "r" ==> read的缩写 读取数据
# 2 "w" ==> write的缩写 写入数据(覆盖原有数据)
# 3 "a" ==> append的缩写 末尾追加数据(不会覆盖原有数据)
# 注意点:
# 文件操作的获取的数据和写入的数据 必须都是字符串
f = open("./a.txt", "w", encoding="utf8")
# 写入数据
data = f.write("你好")
# 关闭文件
f.close()

# 如果文件不存在 使用w的方式访问文件 他会创建一个新的文件 写入数据
f = open("./b.txt", "w", encoding="utf8")
# 写入数据
data = f.write("你好")
# 关闭文件
f.close()

07-追加数据

f = open("./a.txt", "a")
f.write("你好")
f.close()

08-练习

# 现有 a.txt 和 b.txt两个文件
# 要求: 把a.txt的内容追加写入到b.txt中
f1 = open("./a.txt", "r", encoding="utf8")
data = f1.read()
f1.close()

f2 = open("./b.txt", "w", encoding="utf8")
f2.write(data)
f2.close()

09-文件备份

name = input("请输入你要复制的文件的名字:")
# index ==> 1
index = name.find(".")
# name[:index] ==> name[:1] ==> a
# name[index:] ==> name[1:] ==> .txt
# a + [复制] + .txt
new_name = name[:index] + "[复制]" + name[index:]

# 获取老文件的内容
f1 = open(f"./{name}", "r")
data = f1.read()
f1.close()

# 创建新文件
f2 = open(f"./{new_name}", "w")
f2.write(data)
f2.close()

10-os模块

import os

# 1 获取当前目录的信息
# 2 创建目录
# 3 切换到指定目录
# 4 使用for循环创建6个文件
# 5 获取当前路径下的所有的文件/文件夹的名字
# 6 num = 0 证明文件名字没有修改 num = 1 证明文件修改过了
# 7 修改名字或者恢复名字

# 获取当前目录的信息
ret = os.getcwd()
print(ret)

# 创建目录
# os.mkdir("aaa")
# 删除目录
# os.rmdir("aaa")

# 切换到指定目录
os.chdir("aaa")
ret = os.getcwd()
print(ret)

# 使用for循环创建6个文件
# for i in "abcdef":
#     # 这里的文件名字为 a.txt b.txt ...
#     f = open(f"./{i}.txt","w")
#     f.close()

# 获取当前路径下的所有的文件/文件夹的名字
my_list = os.listdir()

# num = 0 证明文件名字没有修改
# num = 1 证明文件修改过了
num = int(input("请输入值:"))
if num == 0:
    # 每一次获取一个文件的名字
    # i ==> a.txt
    # [老谢出品]-a.txt
    for i in my_list:
        # rename:修改文件的名字
        os.rename(i, "[老谢出品]-" + i)

if num == 1:
    # i ==> [老谢出品]-a.txt
    for i in my_list:
        os.rename(i, i[i.find("-") + 1:])

# name = "[老谢出品]-a.txt"
# rename("老的名字","新的名字")
# index ==> 6
# index = name.find("-")
# name[6:]
# name[7:]
# new_name = name[name.find("-") + 1:]
# print(new_name)
# rename("[老谢出品]-a.txt","a.txt")

相关推荐

Nginx 响应提速10倍,你需要知道的缓存性能优化——FastCGI调优
Nginx 响应提速10倍,你需要知道的缓存性能优化——FastCGI调优

Nginx缓存优化是帮助大家提升网站性能的重要操作之一,proxy_cache主要用于反向代理时,对后端内容源服务器进行缓存;fastcgi_cache主要用于...

2024-05-20 14:44 gowuye

王者荣耀天魔缭乱和逐梦之音返场活动地址 3月22日开启返场活动
王者荣耀天魔缭乱和逐梦之音返场活动地址 3月22日开启返场活动

王者荣耀官方终于确定了天魔缭乱和逐梦之音的返场活动,这让不少小伙伴乐开了花,返场活动将会在3月22日开启,下面就带来王者荣耀天魔缭乱和逐梦之音返场活动地址!王者...

2024-05-20 14:44 gowuye

常见的嵌入式web服务器有哪些?

嵌入式WEB服务器常见的有:Lighttpd,Shttpd,Thttpd,Boa,Mini_httpd,Appweb,Goahead。Lighttpd地址:http://www.light...

简述几款常见的嵌入式web服务器
简述几款常见的嵌入式web服务器

嵌入式web服务器,是web服务器当中的一种,是基于嵌入式系统而实现的web服务器。指的是在嵌入式系统(通俗点就是单片机系统)上实现的一个web服务器,可以通过...

2024-05-20 14:44 gowuye

教你如何利用fastcgi_cache缓存加速WordPress

在使用nginx缓存之前,必须在nginx里面加载专门的模块,这个模块叫做ngx_cache_purge。添加ngx_cache_purge模块下载ngx_cache_purge模块ngx_cache...

扫描WordPress漏洞

检测已知漏洞WPScan是一款广泛使用的WordPress安全扫描工具,它的一项重要功能是检测已知漏洞。在这篇文章中,我们将深入探讨WPScan如何检测已知漏洞,并结合实际示例,帮助读者更好地理解和应...

消灭 Bug!推荐几个给力的开源 Bug 跟踪工具
消灭 Bug!推荐几个给力的开源 Bug 跟踪工具

在这个充满bug的世界里,最遥远的距离不是生与死,而是你亲手制造的bug就在你眼前,你却怎么都找不到它。因此本文准备了7款优秀的开源bug跟踪系...

2024-05-20 14:43 gowuye

生物信息分析入门全攻略

生物信息学是生命科学研究的重大前沿领域,未来将占据生命科学研究的半壁江山。已经有越来越多的小伙伴投入到生物信息的学习中,但是入门难、深入慢、摸不到方向等都成为持续学习的拦路虎。本文根据生物信息技术大牛...

elkb实践经验,再赠送一套复杂的配置文件
elkb实践经验,再赠送一套复杂的配置文件

原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。宝剑锋从磨砺出,梅花香自苦寒来。诗人白居易,三月下江南,看到沿路开放的桃花,心潮澎湃...

2024-05-20 14:43 gowuye

超详细从0到1 搭建ELK监控
超详细从0到1 搭建ELK监控

监控分类?Metrics用于记录可聚合的数据。例如,1、队列的当前深度可被定义为一个度量值,在元素入队或出队时被更新;HTTP请求个数可被定义为一个计数器,...

2024-05-20 14:42 gowuye

嵌入式开发 之Web配置页面开发
嵌入式开发 之Web配置页面开发

1.PHP是最好的语言??开发动态页面首选的语言是PHP,村村不能在这里忽悠人,如果你的硬件性能允许切略懂PHP,看到这里就可以退出了。本文面向的受众是Linu...

2024-05-20 14:42 gowuye

Python开发一个网站目录扫描工具用来检测网站是否有漏洞?
Python开发一个网站目录扫描工具用来检测网站是否有漏洞?

开发一个网站目录扫描工具是用来检测网站是否有非法目录请求的一个常见需求之一,我们要通过这个扫描工具来找到通过某个域名可以访问到的网站路径,可能对于有些系统来讲,...

2024-05-20 14:42 gowuye

创建一个类似Youtube的Id——使用PHP/Python/JS/Java/SQL

id通常都是用数字,不巧的是只有10个数字来使用,所以如果你有很多的记录,id往往变得非常冗长。当然对于计算机来说无所谓,但我们更希望id尽可能短。所以我们如何能使id变短?我们可以利用字母让它们附加...

快速云:有助于移动应用安全开发的五条妙计
快速云:有助于移动应用安全开发的五条妙计

许多企业不断地向其开发团队提供培训。但是某些漏洞,如早在十多年前就发现的SQL注入,如今仍广泛存在于各种应用中。因而,安全培训永不过时。在开发移动应用时,开发者...

2024-05-20 14:41 gowuye

洛杉矶国际电影节最佳动画短片奖影片《G’DAY》正式全网上映
洛杉矶国际电影节最佳动画短片奖影片《G’DAY》正式全网上映

7月2日,由M&CSaatchi创作,由深受好评的澳大利亚导演迈克尔·格雷西执导的动画短片《G’day》,正式在全网上映。该影片因其出色的创意赢得了洛...

2024-05-20 14:41 gowuye

取消回复欢迎 发表评论: