如何在子进程python中创建和复制文件的内容

Posted

技术标签:

【中文标题】如何在子进程python中创建和复制文件的内容【英文标题】:How to create, and copy the contents of a file in subprocess python 【发布时间】:2015-05-04 21:18:51 【问题描述】:

如何进行子进程调用以将文件(例如 hello.c)的内容复制到文件 say 1.c

首先,我如何创建一个新文件,例如1.c?我试过了

subprocess.call("touch", "1.c")

它给出了这个错误-

TypeError: bufsize 必须是整数

【问题讨论】:

我问你的问题......你到底为什么要这样做?只需使用内置的python机制来复制文件。 【参考方案1】:

你需要传递一个参数列表,第二个参数是你传递字符串的缓冲区大小:

subprocess.check_call(["touch", "1.c"]) 

要在 python 中复制文件,您可以使用 shutil.copy:

from shutil import copy

copy("foo.c","bar.c")

如果你必须再次使用 subprocess 传递一个 args 列表:

subprocess.chexk_call(["cp", "a.c","b.c"])

如果您获得非零返回状态check_call 将引发CalledProcessError

【讨论】:

你应该默认使用check_call()而不是call()“错误永远不应该静默传递。除非显式静默。”

以上是关于如何在子进程python中创建和复制文件的内容的主要内容,如果未能解决你的问题,请参考以下文章

如何在 JPA 中创建和处理复合主键

如何在应用程序包中创建和检查子目录

如何将文本文件移动到其他文件夹? [复制]

如何从 textbox1 复制字符串,并在子进程命令中使用,并在 textbox2 中输出

如何在 Python 中创建多个构造函数? [复制]

如何在 Python 中的 Pymmsql 中创建和重新创建索引?