如何从给定的文件目录中打开随机图像?
How to open a random Image from a given file directory?
我正在尝试打开此目录中的图像,但无法打开。
它给了我以下错误:
WindowsError: [Error 123] The filename, directory name, or volume
label syntax is incorrect.
这是我的代码:
import os, random
random.choice(os.listdir("C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=10=].91.6_0\backgrounds"+'png'))
在这里,在文件夹背景中有很多 images.I 想要随机图像到 open.But 而 运行 程序,我得到 WindowsError
.
我做错了什么?
编辑 1
我试过这个:
random.choice(os.listdir(r"C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=11=].91.6_0\backgrounds"+'png'))
但是出现错误:
WindowsError: [Error 123] The filename, directory name, or volume
label syntax is incorrect:
'C:\Users\rkp10\AppData\Local\Google\Chrome\User
Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=16=].91.6_0\backgrounds\*.png/.'
编辑 2
我试过这个:
import os, random
a=random.choice(os.listdir(r"C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=12=].91.6_0\backgrounds"))
os.open(a)
现在我没有收到错误消息,但它也没有打开图像。
编辑 3
我也试过:
import random,os
folder= "C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=13=].91.6_0\backgrounds"
a=random.choice(os.listdir(folder))
print(a)
from PIL import Image
file = folder+'\'+a
Image.open(file).show()
#os.open(a, os.O_RDWR)
from PIL import Image
file = folder+'\'+a
Image.open(file).show()
但是再次出现以下错误:
Traceback (most recent call last): File "G:\Grade 12
Project\auto.py", line 4, in
a=random.choice(os.listdir(folder)) WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect:
'C:\Users\rkp10\AppData\Local\Google\Chrome\User
Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca'
这里(黄色高亮部分)是我的图片存放目录。
您需要通过在字符串前添加 r
:
来使用原始字符串
random.choice(os.listdir(r"C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=10=].91.6_0\backgrounds"+'png'))
否则,您需要用另一个反斜杠转义每个反斜杠。
改用PIL。
import os, random
folder=r"D:\Study\SO"
a=random.choice(os.listdir(folder))
print(a)
#os.open(a, os.O_RDWR)
from PIL import Image
file = folder+'\'+a
Image.open(file).show()
来源:
Open and display .png file in python using PIL
问题在于 a
没有所选随机文件的绝对路径。
- 在编辑 1 中,"png" 被连接起来但没有名为 "backgroundspng"
的文件夹
- 在编辑 2 中,您没有给出
os.open()
的标志,它可以是 found here。
- 在编辑 3 中,请确保您在字符串前使用 r。
在你的情况下,使用这个:
folder = r"C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=11=].91.6_0\backgrounds"
我正在尝试打开此目录中的图像,但无法打开。 它给了我以下错误:
WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect.
这是我的代码:
import os, random
random.choice(os.listdir("C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=10=].91.6_0\backgrounds"+'png'))
在这里,在文件夹背景中有很多 images.I 想要随机图像到 open.But 而 运行 程序,我得到 WindowsError
.
我做错了什么?
编辑 1
我试过这个:
random.choice(os.listdir(r"C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=11=].91.6_0\backgrounds"+'png'))
但是出现错误:
WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect: 'C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=16=].91.6_0\backgrounds\*.png/.'
编辑 2
我试过这个:
import os, random
a=random.choice(os.listdir(r"C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=12=].91.6_0\backgrounds"))
os.open(a)
现在我没有收到错误消息,但它也没有打开图像。
编辑 3
我也试过:
import random,os
folder= "C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=13=].91.6_0\backgrounds"
a=random.choice(os.listdir(folder))
print(a)
from PIL import Image
file = folder+'\'+a
Image.open(file).show()
#os.open(a, os.O_RDWR)
from PIL import Image
file = folder+'\'+a
Image.open(file).show()
但是再次出现以下错误:
Traceback (most recent call last): File "G:\Grade 12 Project\auto.py", line 4, in a=random.choice(os.listdir(folder)) WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect: 'C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca'
这里(黄色高亮部分)是我的图片存放目录。
您需要通过在字符串前添加 r
:
random.choice(os.listdir(r"C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=10=].91.6_0\backgrounds"+'png'))
否则,您需要用另一个反斜杠转义每个反斜杠。
改用PIL。
import os, random
folder=r"D:\Study\SO"
a=random.choice(os.listdir(folder))
print(a)
#os.open(a, os.O_RDWR)
from PIL import Image
file = folder+'\'+a
Image.open(file).show()
来源: Open and display .png file in python using PIL
问题在于 a
没有所选随机文件的绝对路径。
- 在编辑 1 中,"png" 被连接起来但没有名为 "backgroundspng" 的文件夹
- 在编辑 2 中,您没有给出
os.open()
的标志,它可以是 found here。 - 在编辑 3 中,请确保您在字符串前使用 r。
在你的情况下,使用这个:
folder = r"C:\Users\rkp10\AppData\Local\Google\Chrome\User Data\Default\Extensions\laookkfknpbbblfpciffpaejjkokdgca[=11=].91.6_0\backgrounds"