python初学者021 发表于 2021-5-6 17:51:29

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

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

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

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

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

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

不知道这样怎么读

谢谢大家了

suchocolate 发表于 2021-5-6 18:08:10

本帖最后由 suchocolate 于 2021-5-6 18:11 编辑

没什么异常啊?

python初学者021 发表于 2021-5-6 18:22:30

suchocolate 发表于 2021-5-6 18:08
没什么异常啊?

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

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

不知道f.read后续怎么一行一行处理

Py与C。。。 发表于 2021-5-6 18:45:32

f=open("文件名","r")
text=f.read()
text.split("/")

hrp 发表于 2021-5-6 19:12:17

本帖最后由 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)


如果可以,建议说一下你的最终目的,也许都不用你这个方法就可以完成任务。

suchocolate 发表于 2021-5-6 21:52:51

python初学者021 发表于 2021-5-6 18:22
谢谢
你用的是f.read
我用的是f.readlines()


想一行一行的处理(一次处理一行),又不想后面的行没有了(一次性全处理),没太懂你的意思。
你还是把你的问题描述清楚,然后贴出你的代码,现在大家都在猜你要做什么。

洋洋痒 发表于 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
自己编写的一个函数,估计大概能满足你的要求,具体细节还需要你自己完善

qq1151985918 发表于 2021-5-7 14:25:13

或许你需要 eval() 和 exec()
这两个函数
页: [1]
查看完整版本: python如何读取带有 “\” 的文件(期望多行转一行)