【问题标题】:Any way to open random file in python?有什么方法可以在python中打开随机文件?
【发布时间】:2016-05-09 00:56:01
【问题描述】:

所以我正在制作一个数独游戏,我应该从一个文件(给定的数字)中获取游戏的棋盘,并且应该有很多文件可供选择。

我只能想到的是:

if choice==1:
    sudoku=open(file1, "r+")

等等,但是仅仅打开一个文件就需要很多行。 有没有办法在python3中打开随机文件?

【问题讨论】:

  • 你想要sudoku = open("file{}".format(choice), 'r+')这样的东西吗?
  • 使用文档,这不是为我阅读文档服务。
  • 你应该阅读.format()上的文档

标签: python python-3.x file-handling


【解决方案1】:

如果您想根据用户输入打开文件,您希望使用str.format 格式化字符串。

假设用户选择是choice,每个文件被标记为game1game2game3等。也就是说,choice的数独游戏前面是game

要获取文件的路径,你要使用

path = "game{number}".format(number = choice)

然后,像往常一样打开它。把它们放在一起:

choice = int(input("Enter a file number: "))
path = "game{number}".format(number = choice)
sudoku = open(path, "r+")

【讨论】:

    【解决方案2】:

    理论上,您可以将多个文件名放入一个列表中,然后使用 random.choice() 方法。代码如下:

    listOfFiles = [file1, file2, file3]
    selectedFile = random.choice(listOfFiles)
    

    然后就可以对随机选择的文件进行加载和操作了。

    【讨论】:

    • 阅读的不仅仅是问题的标题。
    • 如果你的意思是通过load打开一个文件,那将是一个糟糕的选择——如果你有很多文件,你很快就会用完文件描述符。另外,打开许多文件,然后从中挑选一个,比简单地先选择一个随机路径然后打开它要昂贵得多。
    • @RushyPanchal 不是我的意思,哎呀。答案已更新。
    • 这个问题实际上与随机选择无关。我建议阅读this
    猜你喜欢
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    • 2012-08-14
    相关资源
    最近更新 更多