gpt4 book ai didi

python-3.x - 如何获取用户的桌面位置

转载 作者:行者123 更新时间:2023-12-04 22:58:37 24 4
gpt4 key购买 nike

我正在制作一个python脚本来通过FFMPEG合并音频和视频文件,下面显示的代码工作得很好,但我想要做的是我提供的(路径)是我的桌面位置,但如果其他人会运行这个代码然后他们会得到错误。那么我怎样才能为任何计算机的桌面提供通用路径

import os
import subprocess
import tkinter as tk

root = tk.Tk()
os.chdir('C://Users/ravir/desktop/') # how to get the users desktop location
def merge():
global p
p =subprocess.Popen('ffmpeg -i video.avi -i audio.wav -c copy -shortest output.mkv' ,stdin=subprocess.PIPE)


rec_btn = tk.Button(text='Start merging', width=20, command=merge)
rec_btn.pack()


root.mainloop()

最佳答案

就像是:

...  
os.chdir(f'C://Users/{os.getlogin()}/desktop/') # how to get the users desktop
...

应该管用。 os.getlogin() 获取当前登录用户的用户名,使用 f-string 将允许您将其插入路径名。

如果您将其移动到 unix 系统,要对此进行扩展,您可能需要使用 pwd 模块
import pwd  

# will return the login name of the user who ran script and root if run with sudo
pwd.getpwuid(os.getuid())[0]

我想这里需要澄清一下。 os.getlogin()顾名思义,获取当前用户的登录名,因此在您的情况下,您可能可以像在 Windows 和 Unix 上那样运行它。
pwd.getpwuid(os.getuid())[0]获取 的用户跑了脚本,如果您想通过 sudo 检查脚本是否由 root 运行,这很有用.

注意:我认为在 Python 3.6 中引入了 f-strings,所以如果您使用的是早期版本的 python,那么您必须执行以下操作:
username = os.getlogin()
os.chdir('C://Users/%s/desktop/' % username )

关于python-3.x - 如何获取用户的桌面位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60691061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com