鱼C论坛

 找回密码
 立即注册
查看: 2274|回复: 4

[已解决]Python基础语法问题

[复制链接]
发表于 2023-2-19 20:46:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
import os
import sys

raw_data_path = './data/raw_data.txt'

save_folder = './data/biaozhushuju'
if not os.path.exists(save_folder):
        os.makedirs(save_folder)

with open(raw_data_path,'r',encoding='utf8') as f:
        for i,line in enumerate(f.readlines()):
                line = line.strip()#用于删除开头语结尾的字符
                with open(os.path.join(save_folder,'%s.txt' % str(10000+i)),'w',encoding='utf8') as fo:#请问这个什么意思呢?
                        fo.write(line)
最佳答案
2023-2-20 21:07:17
这行代码是在使用Python内置的open()函数打开一个文件并写入数据,具体的含义如下:

open(): 打开一个文件,可以用于读取和写入数据。
os.path.join(): 将多个路径组合成一个完整的路径名,其中os.path是Python内置的操作系统路径模块。
save_folder: 指定要保存文件的目录。
'%s.txt' % str(10000+i): 定义文件名,这里使用字符串格式化操作将一个数字转换为字符串并拼接上.txt后缀。
'w': 打开文件以写入数据,如果文件不存在则创建它。
encoding='utf8': 指定文件编码格式为UTF-8,这样可以正确处理中文字符。
因此,这行代码的含义是:在指定的目录save_folder中创建一个名为10000+i.txt的文件,以UTF-8编码方式打开该文件并准备写入数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-2-19 21:08:45 | 显示全部楼层
os.path.join(save_folder,'%s.txt' % str(10000+i) 是以当前操作系统的路径分隔符拼接 save_folder 和 str(10000+i) + '.txt'

with open() as f 是用上下文管理器来管理文件对象,使文件对象自动关闭
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-19 21:17:09 | 显示全部楼层
fo = open(os.path.join(save_folder,'%s.txt' % str(10000+i)),'w',encoding='utf8') 
fo.write(line)
fo.close()

写成 with as 代码块,该代码块结束将自动关闭相应的对像。
with open(os.path.join(save_folder,'%s.txt' % str(10000+i)),'w',encoding='utf8') as fo:
    fo.write(line)
// with 代码块结束。 fo自动关闭
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-2-20 21:07:17 | 显示全部楼层    本楼为最佳答案   
这行代码是在使用Python内置的open()函数打开一个文件并写入数据,具体的含义如下:

open(): 打开一个文件,可以用于读取和写入数据。
os.path.join(): 将多个路径组合成一个完整的路径名,其中os.path是Python内置的操作系统路径模块。
save_folder: 指定要保存文件的目录。
'%s.txt' % str(10000+i): 定义文件名,这里使用字符串格式化操作将一个数字转换为字符串并拼接上.txt后缀。
'w': 打开文件以写入数据,如果文件不存在则创建它。
encoding='utf8': 指定文件编码格式为UTF-8,这样可以正确处理中文字符。
因此,这行代码的含义是:在指定的目录save_folder中创建一个名为10000+i.txt的文件,以UTF-8编码方式打开该文件并准备写入数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-2-21 22:16:18 | 显示全部楼层
谢谢大神们!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-24 13:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表