如何获取桌面位置?

     2023-02-19     292

关键词:

【中文标题】如何获取桌面位置?【英文标题】:How to get Desktop location? 【发布时间】:2016-03-20 10:48:16 【问题描述】:

我在 Windows 上使用 Python,我希望脚本的一部分将文件从某个目录(我知道它的路径)复制到桌面。

我用过这个:

shutil.copy(txtName, '%HOMEPATH%/desktop')

txtName 是 txt 文件的名称(带有完整路径)。

我得到错误:

IOError: [Errno 2] No such file or directory: '%HOMEPATH%/DESKTOP'

有什么帮助吗?

我希望脚本可以在任何计算机上运行。

【问题讨论】:

所有答案(除了 GPCracker)都不正确,因为桌面文件夹可以移到 HOMEPATH 之外。 【参考方案1】:

在 Unix 或 Linux 上:

import os
desktop = os.path.join(os.path.join(os.path.expanduser('~')), 'Desktop') 

在 Windows 上:

import os
desktop = os.path.join(os.path.join(os.environ['USERPROFILE']), 'Desktop') 

并添加您的命令:

shutil.copy(txtName, desktop)

【讨论】:

@BenL 如果您觉得它有帮助或解决了您的问题,请投票或接受。 你和你上面的那个人都有很好的答案。希望我能接受你们俩。现在投了赞成票。谢谢! 在 Windows 和 Linux 中这似乎都有效:os.path.expanduser("~/Desktop") 不需要内部的os.path.join() 调用。此外,第一个解决方案也适用于 Windows:不需要第二个解决方案。 @ChauLoi 是的,我在 Mac 上测试过,它为您提供了用户的父文件夹【参考方案2】:

您可以使用os.environ["HOMEPATH"] 获取路径。现在它实际上是在尝试查找 %HOMEPATH%/Desktop 而不替换实际路径。

可能是这样的:

shutil.copy(txtName, os.path.join(os.environ["HOMEPATH"], "Desktop"))

【讨论】:

os.path.expanduser("~/Desktop") 适用于 Linux 和 Windows @dashesy:你应该这样回答——它比其他任何一个都好。【参考方案3】:

这适用于 Windows 和 Linux:

import os
desktop = os.path.expanduser("~/Desktop")

# the above is valid on Windows (after 7) but if you want it in os normalized form:
desktop = os.path.normpath(os.path.expanduser("~/Desktop"))

【讨论】:

这可以在非英语 Windows 机器上工作吗?当我在 2010 年左右回来查看时,情况并非如此。 @EricLebigot 我没有非英语的 Windows 机器可以测试,你能告诉我们吗? 这将在 Windows 上产生 'C:\\Users\\user/Desktop' ... 这将在 Win desktop = os.path.expanduser("~\\Desktop") 上工作 @Sabrina 是有效的,在较新的 Widows 中,您可以使用 /,这是首选,因为您不必逃避它。如果您愿意,可以使用os.path.normpath 它在非英语(西班牙语)机器上工作,它实际上输出了 Sabrina 所说的内容。【参考方案4】:

对于 3.5+,您可以使用 pathlib:

import pathlib

desktop = pathlib.Path.home() / 'Desktop'

【讨论】:

我的桌面不在我的 C:\ 上,并且所有其他选项都不能直接使用。我喜欢这个解决方案! 这似乎是现代的做法。【参考方案5】:

我还不能发表评论,但是基于使用“桌面”将位置连接到用户路径的解决方案具有有限的设备,因为桌面可以并且经常被重新映射到非系统驱动器。 要获得真实位置,应使用 Windows 注册表...或通过 ctypes 等特殊功能https://***.com/a/626927/7273599

【讨论】:

【参考方案6】:

所有这些答案都是错误的:它们只适用于英语课程。

您应该检查 XDG 目录,而不是假设它总是 'Desktop'

这是正确答案:How to get users desktop path in python independent of language install (linux)

【讨论】:

这个答案本质上是错误的:它只适用于 Linux。 :) True :) 我可能已经累了,忘记了一点关于 windows 的事情。【参考方案7】:

试试这个:

import os
file1 =os.environ["HOMEPATH"] + "\Desktop\myfile.txt" 

【讨论】:

【参考方案8】:

只是@tpearse 接受答案的附录:

在嵌入式环境中(c++程序调用python环境)

os.path.join(os.environ["HOMEPATH"], "Desktop")

是唯一有效的。好像

os.path.expanduser("~/Desktop")

不返回嵌入式环境的可用路径(至少在我的环境中没有;但我的设置中可能缺少 Visual Studio 中的一些环境设置)

【讨论】:

javajna获取桌面项目位置

Goal获取桌面项/图标的桌面坐标。Attempt我已经获得了SysListView32窗口句柄,其中包含使用以下内容的桌面图标:HWNDhWnd_Progman=User32.INSTANCE.FindWindow("Progman","ProgramManager");HWNDhWnd_SHELLDLL_DefView=User32.INSTANCE.FindWindowEx(hWnd_Pro 查看详情

如何从电子桌面应用程序中获取当前选定的文本?

】如何从电子桌面应用程序中获取当前选定的文本?【英文标题】:Howtogetcurrentlyselectedtextfromwithinelectrondesktopapplication?【发布时间】:2016-04-1603:47:48【问题描述】:我正在使用electron构建一个桌面应用程序。作为其功能的一部分... 查看详情

wpf中获取鼠标相对于桌面位置(代码片段)

原文:WPF中获取鼠标相对于桌面位置vartransform=PresentationSource.FromVisual(this).CompositionTarget.TransformFromDevice;varmouse=transform.Transform(GetMousePosition());publicSystem.Windows.PointGetMousePosition()S 查看详情

获取桌面上存在的图标和文件的详细信息以及桌面上的位置?

】获取桌面上存在的图标和文件的详细信息以及桌面上的位置?【英文标题】:Getdetailsoficonsandfilespresentondesktopwiththerelocationondesktop?【发布时间】:2012-03-2909:33:31【问题描述】:我有一种方法可以在OSX上读取/查询桌面的详细信息... 查看详情

android获取桌面启动图标的位置(代码片段)

Android系统默认会将用户点击的“桌面图标”的位置发送给启动页MainActivity,以此来实现某些系统的过渡动画,所以在MainActivity中调用下面的代码是可以得到当前App的icon坐标的。publicclassMainActivityextendsAppCompatActivity@Overr... 查看详情

是否可以在后台从桌面浏览器获取 GPS 位置?

】是否可以在后台从桌面浏览器获取GPS位置?【英文标题】:IsitpossibletofetchGPSlocationfromdesktopbrowserinthebackground?【发布时间】:2019-11-0417:52:00【问题描述】:我有一个网络应用程序,它会询问用户他们的GPS位置。使用看起来像这... 查看详情

delphi如何获取鼠标当前位置颜色

delphi如何获取鼠标当前位置颜色使用这个函数,COLORREFGetPixel(HDChdc,//handletoDCintnXPos,//x-coordinateofpixelintnYPos//y-coordinateofpixel);可以调用之前调用GerCursorPos来获取鼠标在屏幕上的位置,如果仅仅是为了取色的话,桌面窗口的HDC的获取... 查看详情

如何在 Safari 浏览器中获取当前位置(城市、州、邮政编码)?

】如何在Safari浏览器中获取当前位置(城市、州、邮政编码)?【英文标题】:Howtogetcurrentposition(city,state,zipcode)insafaribrowser?【发布时间】:2014-04-0819:44:48【问题描述】:我尝试了下面的代码,它适用于chrom、firefox浏览器,但不... 查看详情

如何使用新的输入系统访问点击(桌面)/点击(移动)位置?

】如何使用新的输入系统访问点击(桌面)/点击(移动)位置?【英文标题】:Howtoaccesstheclick(desktop)/tap(mobile)positionusingthenewinputsystem?【发布时间】:2021-04-1706:27:59【问题描述】:我创建了一个新的Unity项目并为新的输入系统安... 查看详情

win10下如何更改桌面的位置-win10小技巧

直接上教程:  步骤1:打开此电脑并在左侧找到桌面    步骤2:单击鼠标右键,点击属性,点击位置  步骤3:选择你要保存的路径,这里以E:桌面为例,然后点击移动并确定即可。  查看详情

如何在每个使用桌面分辨率的右下角放置一个窗口(Winforms)

】如何在每个使用桌面分辨率的右下角放置一个窗口(Winforms)【英文标题】:Howtoputawindowontherightbottomcorneroneveryusingthedesktopresolution(Winforms)【发布时间】:2018-08-3121:57:30【问题描述】:我想获取右下角的位置,以便在Winforms中的... 查看详情

如何从桌面测试基于位置的 iPhone 应用程序进行预开发或 beta 测试?

】如何从桌面测试基于位置的iPhone应用程序进行预开发或beta测试?【英文标题】:HowtotestlocationbasediPhoneapplicationforpredevelopmentorbetatestingfromdesktop?【发布时间】:2012-01-0213:25:32【问题描述】:我想测试我的基于位置的应用程序,... 查看详情

如何将android中显示在桌面上的toast位置调整

现在只能显示在屏幕的一个范围内,不能显示在底部。需要改framework层哪个类的代码参考技术A你在论坛里面百度一个自定义toast,有这样的帖子 查看详情

如何在python中获取桌面项目数?

】如何在python中获取桌面项目数?【英文标题】:Howtogetdesktopitemcountinpython?【发布时间】:2014-12-2702:33:37【问题描述】:我正在尝试在python2.7中使用win32gui获取桌面上的项目数。以下代码:win32gui.SendMessage(win32gui.GetDesktopWindow(),LVM... 查看详情

如何设置marker图标的位置

桌面图标位置的设置方法:一、任意移动桌面图标:1、选中所需要移动的图标;2、左击鼠标并拖动至所需要移动的位置;3、按照上述步骤,依次完成其他图标的移动。二、自动排序:1、在桌面空白处右击鼠标;2、出现对话框... 查看详情

桌面应用程序如何从网站获取信息?

】桌面应用程序如何从网站获取信息?【英文标题】:Howdoesadesktopapplicationgetinformationbackfromawebsite?【发布时间】:2010-12-2507:38:45【问题描述】:我是一名桌面应用程序开发人员。我正在创建一个基本网站,用于销售我编写的应用... 查看详情

如何从核心位置获取旧位置

】如何从核心位置获取旧位置【英文标题】:howtogetoldlocationfromcorelocation【发布时间】:2013-04-2809:26:32【问题描述】:-(void)locationManager:(CLLocationManager*)managerdidUpdateLocations:(NSArray*)locationslocations数组最后一个对象持有新位置,如何... 查看详情

如何获取(逻辑)桌面上的项目总数(C#)

】如何获取(逻辑)桌面上的项目总数(C#)【英文标题】:Howtogetthetotalnumberofitemsonthe(logical)desktop(C#)【发布时间】:2011-09-1506:48:23【问题描述】:让我详细说明。“项目”是指您在桌面(Windows)中看到的所有项目,其中包括“... 查看详情