【发布时间】:2012-09-21 05:02:25
【问题描述】:
我想使用 python 创建一个路径为x 的文件。我一直在使用os.system(y),其中y = 'touch %s' % (x)。我一直在寻找os.mkdir 的非目录版本,但我找不到任何东西。有没有这样的工具可以在不打开文件的情况下创建文件,或者使用 system 或 popen/subprocess?
【问题讨论】:
-
@LevLevitsky 因为我必须再次关闭它:P。我必须创建数以千计的文件,而且只是触摸文件似乎更干净。
-
仅供参考,虽然为此使用外部命令总是很糟糕,但执行它的正确方法是
subprocess.call(['touch', x]) -
@tkbx:“干净”对很多人来说可能意味着很多事情。例如,在我看来,数千次生成一个完全独立的进程并不是很干净。当然,在现代硬件上运行的现代操作系统上,可以很快产生一个新进程,但对于这么小的事情来说,它仍然是一个疯狂的开销。
-
@BryanOakley 尽可能用最好的方式描述情绪,对我来说“干净”是程序“真正完成”,没有出错的可能性。
print(x); os.mkdir(y), zint = int(z)在我看来将是一个非常“干净”的程序,因为它是执行任务的所有功能,没有错误或开销的余地。像os.touch()这样的东西对我来说似乎“干净”,因为无论它运行多少次,工作流程都是一样的,即使脚本需要一年,我知道代码已经实现了它的目的,没有任何误差到最后。 -
您认为
touch的工作如何? git.savannah.gnu.org/cgit/coreutils.git/tree/src/… 134 行
标签: python