Python3:将文件保存到指定位置
我有一个很简单的程序,它可以生成可以直接使用的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中,代码是一样的。