【发布时间】:2013-05-07 23:29:33
【问题描述】:
好的,所以我基本上是在编写一个创建文本文件的程序,但我希望将它们创建在与 .py 文件位于同一文件夹中的文件夹中,这可能吗?我该怎么做? 使用 python 3.3
【问题讨论】:
好的,所以我基本上是在编写一个创建文本文件的程序,但我希望将它们创建在与 .py 文件位于同一文件夹中的文件夹中,这可能吗?我该怎么做? 使用 python 3.3
【问题讨论】:
要查找脚本所在的目录:
import os
path_to_script = os.path.dirname(os.path.abspath(__file__))
然后你可以用它作为你的文件名:
my_filename = os.path.join(path_to_script, "my_file.txt")
with open(my_filename, "w") as handle:
print("Hello world!", file=handle)
【讨论】:
__file__。如果您不确定这意味着什么,请完全按照此示例执行操作,调用 abspath 并在开始时将其保存在变量中,然后稍后再使用该变量。
print >> handle, "Hello world!" 是 SyntaxError。 OP 使用的是 Python 3.3。请改用print("Hello world!", file=handle)。
使用open:
open("folder_name/myfile.txt","w").close() #if just want to create an empty file
如果你想创建一个文件,然后用它做一些事情,那么最好使用with 语句:
with open("folder_name/myfile.txt","w") as f:
#do something with f
【讨论】:
open(filename, 'w').close() 将截断文件。使用open(filename, 'a').close() 更安全。