我有这个函数引用文件的路径:
some_obj.file_name(FILE_PATH)
Run Code Online (Sandbox Code Playgroud)
其中FILE_PATH是文件路径的字符串,即 H:/path/FILE_NAME.ext
我想在我的python脚本中创建一个文件FILE_NAME.ext,其中包含字符串的内容:
some_string = 'this is some content'
Run Code Online (Sandbox Code Playgroud)
怎么去这个?Python脚本将放在Linux框中.
Min*_*ras 115
我想你正在寻找这个:http://docs.python.org/library/tempfile.html
import tempfile
with tempfile.NamedTemporaryFile() as tmp:
print(tmp.name)
tmp.write(...)
Run Code Online (Sandbox Code Playgroud)
Con*_*ius 56
有一个python tempfile模块,但简单的文件创建也可以解决问题:
new_file = open("path/to/FILE_NAME.ext", "w")
Run Code Online (Sandbox Code Playgroud)
现在您可以使用以下write方法写入它:
new_file.write('this is some content')
Run Code Online (Sandbox Code Playgroud)
使用该tempfile模块,这可能如下所示:
import tempfile
new_file, filename = tempfile.mkstemp()
print(filename)
os.write(new_file, "this is some content")
os.close(new_file)
Run Code Online (Sandbox Code Playgroud)
随着mkstemp你负责删除文件,你用它做了.使用其他参数,您可以影响文件的目录和名称.
UPDATE
正如Emmet Speer正确指出的那样,使用时需要考虑安全因素mkstemp,因为客户端代码负责关闭/清理创建的文件.处理它的更好方法是以下代码段(取自链接):
import os
import tempfile
fd, path = tempfile.mkstemp()
try:
with os.fdopen(fd, 'w') as tmp:
# do stuff with temp file
tmp.write('stuff')
finally:
os.remove(path)
Run Code Online (Sandbox Code Playgroud)
将os.fdopen文件描述符包装在Python文件对象中,该文件对象在with退出时自动关闭.os.remove不再需要时删除文件的调用.
| 归档时间: |
|
| 查看次数: |
62758 次 |
| 最近记录: |