python将反斜杠加倍,但不起作用

2024-09-30 08:32:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python中遇到了问题,它使我的反斜杠加倍。我试着在字符串前面写r,我试着将反斜杠加倍,但它仍然会给出两个反斜杠

当我试图在引号前写r时,只有一个反斜杠,但是r在那里,如果我做了两个反斜杠,仍然有两个反斜杠。我在它之前试过了。我不知道该怎么办。请帮忙。 多谢各位

代码如下:

import os
lost = []
directory = "D:\Black betty\combs"
combinations = "combinations"
os.chdir(directory)
for line in os.listdir(directory):
    lost.append(line)
for line in lost:
    try:
        otevritsoubor = open(line)
        prvniradek = otevritsoubor.readline()
        otevritsoubor.close()
        souborscestou = "D:\Black betty\combs" + line
        os.rename(souborscestou,prvniradek)
    except Exception as e:
        print(e)
        pass

Tags: 字符串inforoslinedirectoryblacklost
2条回答

您需要在字符串中添加两个反斜杠。否则它将尝试转义下一个角色。如果要绕过转义,也可以在字符串之前使用r

directory = "D:\\Black betty\\combs"

directory = r"D:\Black betty\combs"

您忽略了在+ line之前添加一个额外的双反斜杠,应该从新名称中删除换行符。 以下是更正后的代码:

import os
lost = []
directory = "D:\\Black Betty\\combs"
combinations = "combinations"
os.chdir(directory)
for line in os.listdir(directory):
    lost.append(line)
for line in lost:
    try:
        otevritsoubor = open(line)
        prvniradek = otevritsoubor.readline()
        otevritsoubor.close()
        souborscestou = "D:\\Black Betty\\combs\\" + line # In your previous code, you only concatenated combs and line without \\
        os.rename(souborscestou,prvniradek.strip())
    except Exception as e:
        print(e)
        pass

相关问题 更多 >

    热门问题