Python中如何在Windows系统下用脚本打开文件
用 Pyinstaller 可以生成 exe。自己写个 pip 包也能生成 exe。
在Windows下用Python脚本打开文件,最直接的方法是使用os.startfile()。这相当于在资源管理器里双击文件,系统会用关联的默认程序打开它。
import os
# 打开一个文件,比如一个txt文档
file_path = r'C:\Users\YourName\Documents\example.txt'
os.startfile(file_path)
# 也可以打开一个文件夹
folder_path = r'C:\Users\YourName\Desktop'
os.startfile(folder_path)
核心要点:
os.startfile()是Windows特有的方法,在其他操作系统(如Linux或macOS)上不可用。- 传入的参数是文件的完整绝对路径。使用原始字符串(前缀
r)可以避免反斜杠\被解释为转义字符。 - 这个方法调用是异步的。脚本会立即继续执行,不会等待你关闭打开的文件或程序。
如果你想跨平台,或者需要更精细的控制(比如等待程序结束),可以用 subprocess 模块:
import subprocess
import sys
def open_file_cross_platform(file_path):
"""尝试用系统默认程序打开文件,支持Windows、macOS和主流Linux。"""
try:
if sys.platform == 'win32':
# Windows
os.startfile(file_path)
elif sys.platform == 'darwin':
# macOS
subprocess.run(['open', file_path], check=True)
else:
# Linux (假设有xdg-open)
subprocess.run(['xdg-open', file_path], check=True)
except Exception as e:
print(f"无法打开文件: {e}")
# 使用示例
open_file_cross_platform(r'C:\path\to\your\file.pdf')
总结:在Windows上,用 os.startfile(文件路径) 最省事。
写个批处理,批处理就负责运行 python 脚本并用 notepad++打开生成的文件。再改下注册表把.sec 文件关联到这个批处理就行了
谢谢
off
python D:\tools<a target="_blank" href=“http://decode.py” rel=“nofollow noopener”>decode.py %*
我写了这个好像不行啊
其实我不是想 py2exe, 我是想生成一个 exe 的壳,实现快捷操作
python 应该也可以调用 windows 的接口来打开 notepad++?
有个东西叫做 import os。。。
写一个 Python,最厚加上 os.system(‘notepad.exe output.txt’)
就行了么
批处理加个壳,py 文件默认用批处理执行
pythonshell.cmd<br> off<br>C:\yourpath\python.exe %1<br><br>rem keep terminal window<br>pause<br>
那可以试试写个脚本实现以上功能,然后在注册表中设置那个文件类型的关联命令为 python.exe <a target="_blank" href="http://你写的脚本.py" rel="nofollow noopener">你写的脚本.py</a> "%1"。
没看清是执行*.sec
道理一样改成"C:\yourpath\python.exe decode.py %1"就行了
cmd 里面有 ftype 和 assoc
可以在命令行里面创建文件关联

