【问题标题】:Error: The expanduser('~') cannot be added to dirs. 'xxx':'xxx"错误:无法将 expanduser('~') 添加到目录。 'xxx':'xxx'
【发布时间】:2020-04-24 05:29:21
【问题描述】:

我正在尝试从文件中读取目录并添加 expanduser('~') 但是有一个错误。它不添加“C:\Users\kanna” dir_reader.py:

def dir_reader(x):
    import os
    f1 = open(x, 'r')
    var0 = []
    var2 = []
    for data in f1:
        var0.append(data)
    home = os.path.expanduser('~')
    for i in range(len(var0)):
        var1 = var0[i]
        var3 = var1.lstrip("'/''~").rstrip("\'\n'")
        vs = os.path.join(home, var3)
        var2.append(vs)
    return var2

输出:

['C:\\OpenCity\\Premium\\premium_users.txt', 'C:\\OpenCity\\Premium\\premium_users.usra', 'C:\\OpenCity\\Plugins\\', 'C:\\OpenCity\\Hacked_Version_Official\\hacked_files_official_users.txt', 'C:\\OpenCity\\Hacked_Version_Official\\hacked_files_official_users.usra']

文件.txt:

'~\OpenCity\Premium\premium_users.txt'
'~\OpenCity\Premium\premium_users.usra'
'~\OpenCity\Plugins\'
'~\OpenCity\Hacked_Version_Official\hacked_files_official_users.txt'
'~\OpenCity\Hacked_Version_Official\hacked_files_official_users.usra'

【问题讨论】:

  • 与问题无关,但您可以简单地使用for var1 in var0:
  • 您是否尝试print(home) 看看它是否按照您的预期设置?
  • @Barmar 我试过并在这里发布。查看输出。
  • @ekhumoro 我会尝试并告诉你。
  • 没有@Barmar var2 是输出。

标签: python python-3.x file operating-system


【解决方案1】:

您剥离了错误的分隔符,这意味着var3 将保持绝对路径,而join 将丢弃home 中除驱动器之外的所有内容。

请改用var3 = var1.strip("~\\/' \n")

【讨论】:

    猜你喜欢
    • 2021-12-25
    • 1970-01-01
    • 2023-03-10
    • 2013-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-18
    相关资源
    最近更新 更多