zjx_0 发表于 2021-2-8 12:03:22

Python 封装的exe怎么调用点击的文件

本帖最后由 zjx_0 于 2021-2-8 14:50 编辑

各位大神,我用Python写一个图片.jpg 水印的小工具exe,我将图片.jpg 的打卡方式设置为我的小exe ,
但是我不知道exe里怎么写???
才可以双击图片.jpg 的时候,用我的exe打开,度娘也是没办法,都是需要个批处理。

我看书上f= open("test.txt","w+")
怎么把这个test.txt写成变量,
都是写绝对路径,相对路径、文件名的方式,

不能写成变量么,变量赋值是我打开的图片.jpg?



小白一枚,此处跪谢!
————————————————————————————————————————————————————————————————————————
引用hrp的回答
首先表示感谢!
“右键图片,打开方式选你的exe,勾上默认程序,就能实现双击图片调用你的exe打开。
至于你的程序怎么接收图片路径,看看sys.argv第二个元素。具体请百度。”

追问:
你的意思需要我再做一次交互,我不想那么做,exe里能不能直接调用我双击的jpg文件呢?

hrp 发表于 2021-2-8 15:24:59

本帖最后由 hrp 于 2021-2-8 15:31 编辑

zjx_0 发表于 2021-2-8 14:46
感谢您的解答,你的意思需要我再做一次交互,能不能直接调用我双击的文件呢?

不是再做一次交互,你将图片的默认打开方式设置为你的exe,当你双击图片的时候就是运行你的exe并将图片路径传给你的exe,试一下,以下代码:
import sys
print(sys.argv)
input()
将以上代码打包成exe。
让后尝试一下,将图片的默认打开方式设置为你的exe,然后双击图片,在出现的命令窗口中有没有打印出你双击的图片的路径?

zjx_0 发表于 2021-2-9 09:40:25

本帖最后由 zjx_0 于 2021-2-9 11:21 编辑

hrp 发表于 2021-2-8 15:24
不是再做一次交互,你将图片的默认打开方式设置为你的exe,当你双击图片的时候就是运行你的exe并将图片 ...

感谢大神的解答,完美的解决了我的需求。
C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts\dist


2021/02/0909:37    <DIR>          .
2021/02/0909:37    <DIR>          ..
2020/12/2413:13            18,099 a.png
2021/02/0909:28         7,291,220 argv.exe
2021/02/0909:37         7,291,237 argv1.exe
               3 个文件   14,600,556 字节
               2 个目录 62,297,907,200 可用字节

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts\dist>
:\a.png
驱动器 D 中的卷是 新加卷
卷的序列号是 BE26-201B

d:\ 的目录

2020/12/2413:13            18,099 a.png
               1 个文件         18,099 字节
               0 个目录 38,909,079,552 可用字节

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts\dist>
exe a.png
['argv.exe', 'a.png']
Traceback (most recent call last):
File "argv.py", line 3, in <module>
KeyboardInterrupt
Failed to execute script argv

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts\dist>
exe d:\a.png
['argv.exe', 'd:\\a.png']
Traceback (most recent call last):
File "argv.py", line 3, in <module>
KeyboardInterrupt
Failed to execute script argv

C:\Users\Administrator\AppData\Local\Programs\Python\Python38\Scripts\dist>

Daniel_Zhang 发表于 2021-2-8 12:07:49

本帖最后由 Daniel_Zhang 于 2021-2-8 12:11 编辑

不是很明白你想要的是一个什么效果

如果是单纯的给 exe 文件添加一个封面图标,让使用者觉得它看起来更好看一点,可以参考我之前写的一个教程

https://fishc.com.cn/thread-189478-1-1.html

还是说你想在 exe 调用你的文件?

qq1151985918 发表于 2021-2-8 12:23:29

Daniel_Zhang 发表于 2021-2-8 12:07
不是很明白你想要的是一个什么效果

如果是单纯的给 exe 文件添加一个封面图标,让使用者觉得它看起来更 ...

他的意思可能是设置默认打开方式吧

Daniel_Zhang 发表于 2021-2-8 12:30:59

qq1151985918 发表于 2021-2-8 12:23
他的意思可能是设置默认打开方式吧

emmmmmmmm

标题是 exe 调用文件

内容是文件用exe打开{:10_277:}

hrp 发表于 2021-2-8 12:57:12

右键图片,打开方式选你的exe,勾上默认程序,就能实现双击图片调用你的exe打开。
至于你的程序怎么接收图片路径,看看sys.argv第二个元素。具体请百度。

zjx_0 发表于 2021-2-8 14:46:24

hrp 发表于 2021-2-8 12:57
右键图片,打开方式选你的exe,勾上默认程序,就能实现双击图片调用你的exe打开。
至于你的程序怎么接收图 ...

感谢您的解答,你的意思需要我再做一次交互,能不能直接调用我双击的文件呢?

kogawananari 发表于 2021-2-8 15:41:40

你把你的exe弄成安装包 安装包安装的时候修改注册表使jpg后缀的打开方式指向你要装的exe就行了

就像是vscode安装包勾选在所有文件的鼠标右键添加vsode打开方式一样
页: [1]
查看完整版本: Python 封装的exe怎么调用点击的文件