如何在Python 3.9中使用%APPDATA%获取文件?

huangapple go评论104阅读模式
英文:

How to get a file using %APPDATA% in python 3.9?

问题

我想将此路径存储在变量中:APPDATA%/Roaming/FileZilla/sitemanager.xml

当我使用:

file = "C:/Users/MyPC/AppData/Roaming/FileZilla/sitemanager.xml"

它可以正常工作,但当我使用:

file = "%APPDATA%/Roaming/FileZilla/sitemanager.xml"

文件无法存储,并且我无法通过paramiko发送。

有人可以帮忙吗?

英文:

I want to store in a variable this path APPDATA%/Roaming/FileZilla/sitemanager.xml.

When i use:

file = "C:/Users/MyPC/AppData/Roaming/FileZilla/sitemanager.xml"

it works, but when i use:

file = "%APPDATA%/Roaming/FileZilla/sitemanager.xml"

the file cannot be stored and i cant send via paramiko.

Anyone helps?

答案1

得分: 2

你可以使用os模块中的getenv函数来检索环境变量。你还可以使用Path来轻松操作路径。

import os
import pathlib

appdata = pathlib.Path(os.getenv('APPDATA'))
xmlfile = appdata / 'FileZilla' / 'sitemanager.xml'
英文:

You can retrieve the env variable with getenv function from os module. You can also use Path to easily manipulate paths.

import os
import pathlib

appdata = pathlib.Path(os.getenv('APPDATA'))
xmlfile = appdata / 'FileZilla' / 'sitemanager.xml'

答案2

得分: 1

你可以使用os.path.expandvars来扩展字符串中的环境变量。在Windows上,$和%形式都被接受。

import os
file = os.path.expandvars("%APPDATA%/Roaming/FileZilla/sitemanager.xml")

(请注意前导的%)

英文:

You can use os.path.expandvars to expand environment variables in a string. On Windows, $ and % forms are accepted.

import os
file = os.path.expandvars("%APPDATA%/Roaming/FileZilla/sitemanager.xml")

(Note the leading %)

huangapple
  • 本文由 发表于 2023年1月9日 04:06:19
  • 转载请务必保留本文链接:https://go.coder-hub.com/75050909.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定