如何在python中从目录打开随机文件?

如何在python中从目录打开随机文件?,python,Python,我想从给定目录打开一个随机文件。 我试过这个: import os, random random.choice(os.listdir("C:\\")) 但它不起作用。 另一方面,我试过: import os, random random.choice([x for x in os.listdir("C:\\") if os.path.isfile(os.path.join("C:\\", x))]) 它工作了,但它只是列出目录中的文件,而不是启动它们。如何启动这些文件?您的代码将获得随机文

我想从给定目录打开一个随机文件。 我试过这个:

import os, random
random.choice(os.listdir("C:\\"))
但它不起作用。 另一方面,我试过:

import os, random

random.choice([x for x in os.listdir("C:\\") if os.path.isfile(os.path.join("C:\\", x))])

它工作了,但它只是列出目录中的文件,而不是启动它们。如何启动这些文件?

您的代码将获得随机文件的文件名,但您应该打开该文件以查看其内容。在评论部分讨论后,文件格式为mp3,可以使用
webbrowser
模块播放

import os, random
import webbrowser
basedir = "C:\\"

file = random.choice([x for x in os.listdir(basedir) if os.path.isfile(os.path.join(basedir, x))])

print("Playing file {}...".format(file))
webbrowser.open(os.path.join(basedir, file))

“开始”文件是什么意思?你能更具体地说明“开始”是什么意思吗?e、 g.在记事本中打开文本文件?运行批处理文件?用python打开该文件,然后对其内容进行处理?可能重复的回溯(最近一次调用最后一次):文件“C:\Users\F.R.E.D.R.I.C.K\AppData\Local\Programs\python\Python36\lib\encodings\cp1252.py”第23行中的文件“”,第2行,在解码返回编解码器.charmap\u解码(输入,自.错误,解码\u表)[0]UnicodeDecodeError:“charmap”编解码器无法解码位置431中的字节0x81:字符映射到>>>我得到了这个:^I得到了这个:回溯(最近一次调用):文件“”,第2行,在文件中“C:\Users\F.R.E.D.R.I.C.K\AppData\Local\Programs\Python\36\lib\encodings\cp1252.py”,第23行,在解码返回编解码器.charmap\u解码(输入,自身错误,解码表)[0]UnicodeDecodeError:“charmap”编解码器无法解码位置431处的字节0x81:字符映射到>>>此错误将根据文件中包含的数据类型出现。由于这是随机选择,因此您将能够打开文件(并查看数据内容)如果它们不包含无法解码的特殊字符。如果文件包含无法解码的字符,则您必须查看文件中的数据。除非我们了解数据本身,否则无法进行调试。它们只是mp3文件。我在网上找到了此代码,它很简单,但我丢失了。它刚刚打开指定文件夹中的随机文件是否尝试播放mp3文件?您可能希望在本文中探索选项: