如何根据脚本位置下载图像并将其放在新目录中?
How to download an image and put it in a new directory based on the script location?
假设我有这个代码:
import urllib.request
url = 'https://docs.python.org/3/_static/py.png'
file_name = url.split('/')[::-1][0]
urllib.request.urlretrieve(url, file_name)
当此代码运行时,它将下载py.png并将其命名为py.png,并存储在.py文件的相同位置(代码位于)
我的问题是,如何对其进行编码,以便它在基于 .py[ 的新文件夹中下载 py.png =29=]位置。
假设我的 .py 文件位置是 desktop\mypylocation\image.py
我想创建一个新文件夹并将图像存储在新文件夹中,以便图像的路径为 desktop\mypylocation\new_folder\py.png
。
你可以使用
import os
current_folder=os.getcwd()
如果您还没有更改目录或者您不是 运行 来自不同目录的脚本。否则,您可以通过
找到脚本位置
import sys
current_folder=sys.path[0]
最后,您可以通过
创建一个新文件夹
os.mkdir(current_folder+'my_new_folder')
在你的情况下应该是这样的:
import sys
import os
import urllib.request
# Define URL
url = 'https://docs.python.org/3/_static/py.png'
# Figure out folder
curr_folder=sys.path[0]
# Create folder
os.mkdir(curr_folder+'/out')
# Get filename
file_name =curr_folder+'/out/'+url.split('/')[::-1][0]
urllib.request.urlretrieve(url, file_name)
希望这对您有所帮助。
要获取 python 文件的位置,请使用
import os
path_of_py_file = os.path.abspath(os.path.dirname(__file__))
在那里创建一个新文件夹
os.mkdir(os.path.join(path_of_py_file, 'folder name'))
函数os.path.join
用正确的分隔符连接部分路径(并确保只有一个),这比假设分隔符是反斜杠连接字符串要好
假设我有这个代码:
import urllib.request
url = 'https://docs.python.org/3/_static/py.png'
file_name = url.split('/')[::-1][0]
urllib.request.urlretrieve(url, file_name)
当此代码运行时,它将下载py.png并将其命名为py.png,并存储在.py文件的相同位置(代码位于)
我的问题是,如何对其进行编码,以便它在基于 .py[ 的新文件夹中下载 py.png =29=]位置。
假设我的 .py 文件位置是 desktop\mypylocation\image.py
我想创建一个新文件夹并将图像存储在新文件夹中,以便图像的路径为 desktop\mypylocation\new_folder\py.png
。
你可以使用
import os
current_folder=os.getcwd()
如果您还没有更改目录或者您不是 运行 来自不同目录的脚本。否则,您可以通过
找到脚本位置import sys
current_folder=sys.path[0]
最后,您可以通过
创建一个新文件夹os.mkdir(current_folder+'my_new_folder')
在你的情况下应该是这样的:
import sys
import os
import urllib.request
# Define URL
url = 'https://docs.python.org/3/_static/py.png'
# Figure out folder
curr_folder=sys.path[0]
# Create folder
os.mkdir(curr_folder+'/out')
# Get filename
file_name =curr_folder+'/out/'+url.split('/')[::-1][0]
urllib.request.urlretrieve(url, file_name)
希望这对您有所帮助。
要获取 python 文件的位置,请使用
import os
path_of_py_file = os.path.abspath(os.path.dirname(__file__))
在那里创建一个新文件夹
os.mkdir(os.path.join(path_of_py_file, 'folder name'))
函数os.path.join
用正确的分隔符连接部分路径(并确保只有一个),这比假设分隔符是反斜杠连接字符串要好