鱼C论坛

 找回密码
 立即注册
查看: 2458|回复: 7

python如何读取带有 “\” 的文件(期望多行转一行)

[复制链接]
发表于 2021-5-6 17:51:29 | 显示全部楼层 |阅读模式

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

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

x
各位同学,我遇到一个问题,源文件是这样的结构

multi_line_exam = [\
line1, \
line2, \
line3, \
line4 \
]

这个文件为了人眼阅读方便,将一行分割成多行来写

我现在需要读取这个文件,我希望一口气把这个多行都读进来

我不期望读到的是:
multi_line_exam = [\
(后面行没有了)

不知道这样怎么读

谢谢大家了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-5-6 18:08:10 | 显示全部楼层
本帖最后由 suchocolate 于 2021-5-6 18:11 编辑

没什么异常啊?
Screenshot 2021-05-06 180741.jpg Screenshot 2021-05-06 181035.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-5-6 18:22:30 | 显示全部楼层

谢谢
你用的是f.read
我用的是f.readlines()

主要是我后面还要一行一行的处理

不知道f.read后续怎么一行一行处理
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-6 18:45:32 From FishC Mobile | 显示全部楼层
f=open("文件名","r")
text=f.read()
text.split("/")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-6 19:12:17 From FishC Mobile | 显示全部楼层
本帖最后由 hrp 于 2021-5-6 19:13 编辑

如果你是想按照Python语法并句,那就复杂了,看下面的例子,它是符合Python语法的,想象要怎么并?
line1="12"
line2=2
line3="3"
line4="456"

multi_line_exam = [\
line1, \
line2, 
line3, # 注释 \
line4 \
]

print(multi_line_exam)

如果可以,建议说一下你的最终目的,也许都不用你这个方法就可以完成任务。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-6 21:52:51 | 显示全部楼层
python初学者021 发表于 2021-5-6 18:22
谢谢
你用的是f.read
我用的是f.readlines()

想一行一行的处理(一次处理一行),又不想后面的行没有了(一次性全处理),没太懂你的意思。
你还是把你的问题描述清楚,然后贴出你的代码,现在大家都在猜你要做什么。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-6 22:55:57 | 显示全部楼层
def my_read(f): #f为文件对象
    result=''
    while True:
        s=f.readline()
        if s==']\n' or s=='':
            result+=s.strip()
            break
        else:
            result+=s.strip('\\\n')
    return result
自己编写的一个函数,估计大概能满足你的要求,具体细节还需要你自己完善
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-5-7 14:25:13 | 显示全部楼层
或许你需要 eval() 和 exec()
这两个函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 00:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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