Python3:将文件保存到指定位置

0 投票
2 回答
3217 浏览
提问于 2025-04-16 06:32

我有一个很简单的程序,它可以生成可以直接使用的HTML代码。

这个程序运行得很好,但有个问题。如果你从Python命令行运行这个程序(这是默认的方式),生成的HTML文件会保存在python.exe所在的位置,而不是我写这个程序的地方。这就麻烦了。

你知道怎么让.write()这个功能把文件写到指定的地方吗,比如说(例如 C:\Users\User\Desktop)?

如果你知道怎么打开文件浏览器窗口,那就更酷了。

2 个回答

0

我承认我对Python 3不太了解,所以可能会有错误。不过在Python 2中,你可以查看一个叫__file__的变量,这个变量会告诉你模块是从哪个文件加载的。你只需要在同一个文件夹里创建你的文件(最好用os.path.dirname和os.path.join来确保在不同操作系统上都能正常使用)。

1

第一个问题可能是你在打开文件进行写入时,没有提供完整的路径。想了解如何打开网页浏览器,可以查看这本不错的手册

import os
target_dir = r"C:\full\path\to\where\you\want\it"

fullname = os.path.join(target_dir,filename)
with open(fullname,"w") as f:
   f.write("<html>....</html>")

import webbrowser

url = "file://"+fullname.replace("\\","/")
webbrowser.open(url,True,True)

顺便说一下:在python 2.6中,代码是一样的。

撰写回答