相关疑难解决方法(0)

用Python原子写入文件

我使用Python在一个操作中将文本块写入文件:

open(file, 'w').write(text)
Run Code Online (Sandbox Code Playgroud)

如果脚本被中断,那么文件写入没有完成我想要没有文件而不是部分完整的文件.可以这样做吗?

python file-io atomic

52
推荐指数
5
解决办法
3万
查看次数

重命名()没有fsync()安全吗?

rename(tmppath, path)没有先拨打电话是否安全fsync(tmppath_fd)

我希望路径始终指向一个完整的文件.我主要关心的是Ext4.在所有未来的Linux内核版本中,rename()承诺是否安全?

Python中的一个用法示例:

def store_atomically(path, data):
    tmppath = path + ".tmp"
    output = open(tmppath, "wb")
    output.write(data)

    output.flush()
    os.fsync(output.fileno())  # The needed fsync().
    output.close()
    os.rename(tmppath, path)
Run Code Online (Sandbox Code Playgroud)

linux rename fsync ext4

26
推荐指数
1
解决办法
7743
查看次数

从.html文件中提取文本,删除HTML,然后使用Python和Beautiful Soup写入文本文件

我正在使用Beautiful Soup 4从HTML文件中提取文本,并且get_text()可以轻松地仅提取文本,但是现在我试图将该文本写入纯文本文件,当我这样做时,我收到消息“ 416。” 这是我正在使用的代码:

from bs4 import BeautifulSoup
markup = open("example1.html")
soup = BeautifulSoup(markup)
f = open("example.txt", "w")
f.write(soup.get_text())
Run Code Online (Sandbox Code Playgroud)

控制台的输出是,416但是没有任何内容写入文本文件。我哪里出问题了?

python beautifulsoup

2
推荐指数
1
解决办法
6676
查看次数

标签 统计

python ×2

atomic ×1

beautifulsoup ×1

ext4 ×1

file-io ×1

fsync ×1

linux ×1

rename ×1