文件修改的两种方式

文件修改的两种方式

文件的数据是存放于硬盘上的,因而只存在覆盖、不存在修改这么一说,我们平时看到的修改文件,都是模拟出来的效果,具体的说有两种实现方式。

一、方式一

将硬盘存放的该文件的内容全部加载到内存,在内存中是可以修改的,修改完毕后,再由内存覆盖到硬盘(word,vim,nodpad++等编辑器)。

Copyimport os

with open('37r.txt') as fr, \
                        open('37r_swap.txt', 'w') as fw:
data = fr.read()  # 全部读入内存,如果文件很大,会很卡
data = data.replace('tank', 'tankSB')  # 在内存中完成修改

fw.write(data)  # 新文件一次性写入原文件内容

# 删除原文件
os.remove('37r.txt')
# 重命名新文件名为原文件名
os.rename('37r_swap.txt', '37r.txt')
print('done...')
Copydone...

二、方式二

将硬盘存放的该文件的内容一行一行地读入内存,修改完毕就写入新文件,最后用新文件覆盖源文件。

Copyimport
os

with open('37r.txt') as fr, \
        open('37r_swap.txt', 'w') as fw:
# 循环读取文件内容,逐行修改
    for
line in fr:
line = line.replace('jason', 'jasonSB')
# 新文件写入原文件修改后内容
fw.write(line)

os.remove('37r.txt')
os.rename('37r_swap.txt', '37r.txt')
print('done...')
Copydone...

总而言之,修改文件内容的思路为:以读的方式打开原文件,以写的方式打开一个新的文件,把原文件的内容进行修改,然后写入新文件,之后利用os模块的方法,把原文件删除,重命名新文件为原文件名,达到以假乱真的目的。

Nginx是一款轻量级的Web服务器软件,它具有高性能、高可靠性、低内存占用等特点。在Nginx中,有两种指定文件路径的方式——root和alias。 首先讲讲root。在Nginx中使用root指令是最常见的方式,它可以用来指定Web服务器根目录的位置。默认情况下,Nginx根目录为"/usr/share/nginx/html",但是可以通过编辑Nginx配置文件中的root指令来修改该位置。例如: ``` server { listen 80; server_name example.com; root /var/www/example.com; } ``` 在上述示例中,我们将Web服务器根目录的位置指定为"/var/www/example.com"。在访问example.com时,Nginx将从该目录下寻找Web资源。 接下来讲讲alias。alias指令也可以指定文件路径,但是与root有些不同。alias可以用来指定一个URL路径对应于实际存储路径的映射关系。例如: ``` server { listen 80; server_name example.com; location /images/ { alias /var/www/example.com/images/; } } ``` 在上述示例中,我们将Web服务器上存储图片的实际路径"/var/www/example.com/images/"与URL路径"/images/"建立了映射关系。在浏览器中访问"http://example.com/images/logo.png"时,Nginx将从"/var/www/example.com/images/logo.png"查找相应图片。 通过以上介绍,我们可以看出,root和alias都可以用于指定文件路径,但是它们的使用方式略有不同。如果需要指定Web服务器根目录,应该使用root;如果需要对URL路径和实际存储路径建立映射关系,应该使用alias。相信通过掌握这两种方式,您能更加灵活地配置Nginx,并使用它构建出高性能、高可靠性的Web服务器。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值