python - 将变量传递给 os.pathisfile
问题描述
我为放置公共桌面快捷方式的路径声明了变量(下面的代码)
SOURCE_PATH = r"\\ServerAddress\Installs\Software Package"
DEST_PATH = r"C:\Users\Public\Desktop"
FILE_NAME = "\\ProgramShortcut.lnk"
def place_shortcut():
print("Placing Shortcut on Desktop..")
shutil.copyfile(SOURCE_PATH + FILE_NAME, DEST_PATH + FILE_NAME) #
我正在寻找使用相同的变量(DEST_PATH 和 File_Name)在同一位置删除相同的快捷方式 - 只是为了让您了解我想要做的基本上是程序将删除图标/删除程序/重新安装程序然后使用相同的变量将快捷方式放回去。当我使用下面的代码时,它似乎没有做任何事情。
def remove_shortcut():
if os.path.isfile(os.path.join(DEST_PATH, FILE_NAME)):
os.remove(os.path.join(DEST_PATH, FILE_NAME))
print("Removing existing shortcuts")
解决方案
如果一个组件[即函数的第二个参数]是绝对路径,则所有先前的组件都将被丢弃,并从绝对路径组件继续连接。
(强调我的)
在您的情况下,呼叫将类似于:
os.path.join(r"C:\Users\Public\Desktop", "\\ProgramShortcut.lnk")
但是 "\\ProgramShortcut.lnk"
是一个绝对路径,所以你最终会检查文件C:\ProgramShortcut.lnk
。
推荐阅读
- jquery - Jeditable 元素不响应生成的点击
- simulation - 在模拟过程中,每小时 5 次的行人到达率仅显示 3 次,持续时间为 1 小时。有什么理由吗?
- python - 通过 python 请求、cloudflare 站点登录
- r - 图例中的线型变形
- python - 如何比较python中的两个HTML文件并只打印差异?
- node.js - NodeJs 从外部 API 返回
- c# - Xamarin UITest iOS 无法访问 webview 元素
- julia - 是否可以用宏改变函数的主体?
- angular - Angular 6 没有正确显示错误(它只显示 ERROR Error: "[object Object]" )
- arm - 堆栈指针和程序计数器有什么区别?