【问题标题】:Ptython - how to write '\\n' to a filePython - 如何将'\\n'写入文件
【发布时间】:2022-01-09 21:29:08
【问题描述】:

我需要将\\n 写入文件。 我的问题是我只得到\n

def read_file(input_path):
    f = open(input_path, "r")
    read_lines = f.readlines()
    read_lines_length = len(read_lines)
    r = 0 
    while r < read_lines_length:
        read_lines[r]= read_lines[r].replace('\n','')
        r+=1
    f.close()

    for element in range(len(read_lines)):
        read_lines[element].replace('\n', '\\n').replace('\r', '\\r')

    return read_lines

有了这个,我可以将\\n 存储在一个列表中,但是当我使用f.write() 时,它只会打印\n。通常你会做:prin(\\\\n) 得到\\n 但是当我做.replace("\n", "\\\\n") 时它会在列表中保持\\n

['print("Enter: \'stop\' --> exit function.\\n"']

输出:

read = read_file(input_path)
for element in range(len(read)):
    print(read[element])

---> print("Enter: 'stop' --> exit function.\n"

我想要完成的是一个文件,它将从我的normal Python 文件和encrypted python 文件自动创建。

这里有一些文件可以使用:

Core.py

packager.py

what I want to have

这里是文件夹结构:imgur

【问题讨论】:

  • 你为什么需要它?你根本没有给出任何上下文
  • 你想在文件中写反斜杠、反斜杠、n还是反斜杠、换行符?
  • 我以为这就是你想要的......
  • @Muddyblackk 那么你应该在那里被接走。关于这个根本没有没有任何加密。这只是一种编码。
  • 你需要了解字符串的CONTENTS和字符串的REPRESENTATION的区别。如果您在 Python 中键入 s='\\n' 行,则该字符串包含两个字符:一个反斜杠和一个“n”。如果您输入s,Python 将打印"\\n" 作为表示,即使没有两个反斜杠。如果你print(s),它将打印\n,带有一个反斜杠,没有换行符。如果您真的希望将三个字符的“反斜杠反斜杠 n”写入文件,则需要在 Python 字符串中将其表示为 "\\\\n"。那是一个包含 3 个字符的字符串。

标签: python newline


【解决方案1】:

我认为您的问题只是 print 函数对列表中文本的不同视图。事实上,列表中的 \n 实际上是 \n 而不是 \\n。请注意以下示例。 \n 用于HelloWorld 之间,在print(a) 之后,两个单词出现在不同的行中。在b 变量a 被插入到列表中([]);现在print(b) 显示\n

a = "Hello\nWorld"
print(a)
b = [a]
print(b)
print(b[0])

输出:

Hello
World
['Hello\nWorld']
Hello
World

根据问题变化进行编辑:

read_file 更改为以下代码会有所帮助:

def read_file(input_path):
    f = open(input_path, "r")
    read_lines = f.readlines()
    read_lines = [r.replace("\\n",'\\\\n').replace('\n','') for r in read_lines] 
    f.close()
    return read_lines

【讨论】:

  • 我会看看我认为我的文件编写器很糟糕,不应该寻找长度,而是寻找字符串
  • 我已经编辑过了。这是我说“我想要完成的事情”的地方,这不是我的文件作者;(
  • 我想将 List 的每个元素写入另一个新文件的新行。
  • f.write(element + "\n")替换写函数中的f.write(element)解决你的问题?
  • 谢谢。根据您的文件编辑答案:)
猜你喜欢
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
  • 2016-05-26
  • 1970-01-01
  • 2020-05-21
  • 2019-06-30
  • 2016-03-18
  • 2014-02-04
相关资源
最近更新 更多