我正在尝试创建一个函数来检查特定的docx文件是否存在,然后创建一个不存在的文件。我如何进行设置,以便程序检查.py文件所在的文件。
#Creating The Finance Log Word Doc
#If the file does not exist create file
if os.path.exists("Finance Log.docx")==False:
doc = docx.Document()
run = doc.add_paragraph().add_run()
# Apply Style
Tstyle = doc.styles['Normal']
font = Tstyle.font
font.name = "Nunito Sans"
font.size = Pt(48)
Title = doc.add_paragraph()
TRun = Title.add_run("Finance Log")
TRun.bold = True
doc.add_picture('Scouts_Logo_Stack_Black.png', width=Inches(4.0))
doc.save("Finance Log.docx")
预期结果是仅在与.py文件不在同一文件夹中时创建文件。
由于文件路径设置不正确,实际结果是该函数继续执行。
答案 0 :(得分:1)
您可以从__file__
变量获取当前py文件的路径。
从那里,找到目录为os.path.dirname
。
然后,将其与您要搜索的文件名结合起来:
my_directory = os.path.dirname(__file__)
path_to_docx = os.path.join(my_directory, "Finance Log.docx")
为了更加安全,请将路径转换为绝对路径(because it sometimes isn't):
my_directory = os.path.abspath(os.path.dirname(__file__))
path_to_docx = os.path.join(my_directory, "Finance Log.docx")
然后,在各处使用它,例如:
os.path.exists(path_to_docx)
doc.save(path_to_docx)