将“/ r / n”写入文件中的换行符

时间:2017-07-13 14:46:24

标签: python python-3.x

我正在从数据库中读取文本blob,我必须将它们写入文件。

这些字符串就像

Lorem ipsum dolor sit amet,\r\nconsectetur adipiscing elit,\r\nsed do eiusmod tempor incididunt ut labore et dolore magna aliqua.\r\n\r\nUt enim ad minim veniam,\r\nquis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

我需要像这样写:

Lorem ipsum dolor sit amet,
consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

是否有一种更简单的方法来实现这一点,而不是通过char读取char并在每次遇到file.write('\n')时执行\r\n

我的代码:

import sqlite3
import codecs  

db = sqlite3.connect('blog.sqlite')
cursor = db.cursor()
cursor.execute('''select filename, filecontent from mytable''')
all_rows = cursor.fetchall()    

for row in all_rows:
    with codecs.open(row[0], 'w', encoding='utf-8') as f:
        f.write(row[1])
db.close()

filename只是一个简单的字符串,filecontent有重音字母,我想避免 s

示例数据:

Mi sono trovato nella condizione di dover fare una join su più campi.  \r\nChe stavano in una colonna sola.  \r\nSeparati da punti e virgola.\r\n\r\nPrima di tentare il suicidio, ho googolato un pò e ho scoperto questo:\r\n\r\n    :::sql\r\n    SELECT *  \r\n    FROM tabella1 LEFT JOIN tabella2 ON tabella2.colonnaA IN (  \r\n        SELECT REGEXP_SUBSTR(tabella2.colonnaB,'[\\^;]+', 1, level) FROM dual  \r\n        CONNECT BY REGEXP_SUBSTR(tabella2.colonnaB, '[\\^;]+', 1, level) IS NOT NULL  \r\n    );\r\n\r\nForse è una cosa risaputa, ma non la conoscevo...  \r\nSicuramente la riutilizzerò tantissimo.\r\n

1 个答案:

答案 0 :(得分:0)

我明白了:我必须str.replace(r'\r\n', '\n')来搜索原始字符串