相关疑难解决方法(0)

7
推荐指数
2
解决办法
524
查看次数

os.path.join()和os.path.normpath()都在窗口上添加了双向后斜杠

我想将一个正斜杠格式的unix文件路径转换为一个反斜杠格式的Windows文件路径.我尝试了os.path.join()和os.path.normpath(),但是它们似乎都为结果添加了双向后斜杠.例如,如果我使用os.path.normpath('static/css/reset.css'),结果是'static\\css\\reset.css'代替static\css\reset.css.并'static/css/reset.css'.replace('/','\\')给我相同的结果os.path.normpath.有没有办法只获得单向后斜杠分隔的字符串格式?

顺便说一下,我在64位Windows 7上使用Python2.7.

python

6
推荐指数
1
解决办法
2万
查看次数

为什么在 Python 中打印元组(列表、字典等)时会加倍反斜杠?

在Python中,当我打印带有反斜杠的字符串时,它只打印一次反斜杠:

>>> print(r'C:\hi')
C:\hi
>>> print('C:\\hi')
C:\hi
Run Code Online (Sandbox Code Playgroud)

但我注意到,当您打印带有反斜杠的字符串元组时,它会打印双反斜杠:

>>> print((r'C:\hi', 'C:\\there'))
('C:\\hi', 'C:\\there')
Run Code Online (Sandbox Code Playgroud)

为什么打印元组时表现不同?

(请注意,这种情况在 Python 2 和 3 以及 Windows 和 Linux 中都会发生。)

python printing escaping backslash

5
推荐指数
1
解决办法
1701
查看次数

如何转义格式化 python 字符串中的单个反斜杠?

在 Python 3.6 的格式化字符串结果中包含一对反斜杠时遇到一些问题。请注意,#1 和 #2 产生相同的不需要的结果,但 #3 会产生太多反斜杠,这是另一个不需要的结果。

1

t = "arst '{}' arst"
t.format(d)
>> "arst '2017-34-12' arst"
Run Code Online (Sandbox Code Playgroud)

2

t = "arst \'{}\' arst"
t.format(d)
>> "arst '2017-34-12' arst"
Run Code Online (Sandbox Code Playgroud)

3

t = "arst \\'{}\\' arst"
t.format(d)
>> "arst \\'2017-34-12\\' arst"
Run Code Online (Sandbox Code Playgroud)

我正在寻找如下所示的最终结果:

>> "arst \'2017-34-12\' arst"
Run Code Online (Sandbox Code Playgroud)

python python-3.x python-3.6

5
推荐指数
1
解决办法
8847
查看次数

Python自动将某些字符串转换为原始字符串?

Python似乎正在自动将字符串(不仅仅是输入)转换为原始字符串。有人可以解释这里发生了什么吗?

Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:57:15) [MSC v.1915 64 bit 
(AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> s = '\stest'
>>> s
'\\stest'
# looks like a raw string
>>> print(s)
\stest
>>> s = '\ntest'
>>> s
'\ntest'
# this one doesn't
>>> s = '\n test'
>>> s
'\n test'
>>> s = r'\n test'
>>> s
'\\n test'
>>> print(s)
\n test
Run Code Online (Sandbox Code Playgroud)

标记为与此重复问题似乎很有用,但是我不明白为什么

>>> …
Run Code Online (Sandbox Code Playgroud)

python string

5
推荐指数
1
解决办法
103
查看次数

从字符串中删除反斜杠

我有一个像一个句子的字符串 I don't want it, there'll be others

所以文字看起来像这样 I don\'t want it, there\'ll be other

由于某种原因,\附带的文字旁边'.它是从另一个来源读入的.我想删除它,但不能.我试过了. sentence.replace("\'","'")

sentence.replace(r"\'","'")

sentence.replace("\\","")

sentence.replace(r"\\","")

sentence.replace(r"\\\\","")

我知道这\是为了逃避某些事情,所以不知道怎么用引号来做

python nltk

4
推荐指数
1
解决办法
1529
查看次数

Python - 嵌套的 __repr__ 将换行符恢复为“\\n”

class MyClass:
    def __init__(self):
        self.list_ = []
    def __repr__(self):
        return '\n'.join(['this','should','all','be','on','separate','lines']) + str([str(list_val) for list_val in self.list_])

myClass = MyClass()
myClass.list_.append(MyClass())
myClass.list_[0].list_.append(MyClass())
print(myClass)
Run Code Online (Sandbox Code Playgroud)

我希望此代码打印:

this
should
all
be
on
separate
lines[this
should
all
be
on
separate
lines[this
should
all
be
on
separate
lines]]
Run Code Online (Sandbox Code Playgroud)

或类似的东西,但它打印

this
should
all
be
on
separate
lines["this\nshould\nall\nbe\non\nseparate\nlines['this\\nshould\\nall\\nbe\\non\\nseparate\\nlines[]']"]
Run Code Online (Sandbox Code Playgroud)

也就是说,当我尝试将一个对象转换为字符串时,它已经在__repr__同一个类的另一个对象的方法中,它会将换行符转换为\n,如果我进一步嵌套它,它会导致\\n,每次我嵌套它都会添加转义序列前的附加反斜杠。

阅读完这个问题后,似乎该__repr__方法认为我实际上想要两个字符\and n,但我不想要:我想要转义序列\n。有什么方法可以覆盖它并强制它将其解释为换行符而不是两个单独的字符?

python string recursion escaping repr

4
推荐指数
1
解决办法
2734
查看次数

如何在 Python 中删除反斜杠和附加在反斜杠上的单词?

我知道要删除单个反斜杠,我们可能会执行类似从Python 中的字符串中删除反斜杠的操作

我试图:

我想知道如何在下面的列表中删除所有像“\ue606”这样的词,

A = 
['Historical Notes 1996',
'\ue606',
'The Future of farms 2012',
'\ch889',
'\8uuuu',]
Run Code Online (Sandbox Code Playgroud)

将其转化为

['Historical Notes 1996',
'The Future of farms 2012',]
Run Code Online (Sandbox Code Playgroud)

我试过:

A = ['Historical Notes 1996',
'\ue606',
'The Future of farms 2012',
'\ch889',
'\8uuuu',]

for y in A:
      y.replace("\\", "")
A
Run Code Online (Sandbox Code Playgroud)

它返回:

['Historical Notes 1996',
 '\ue606',
 'The Future of farms 2012',
 '\\ch889',
 '\\8uuuu']
Run Code Online (Sandbox Code Playgroud)

我不确定如何处理 '\' 后面的字符串,或者为什么它添加了一个新的 '\' 而不是删除它。

python string

4
推荐指数
1
解决办法
81
查看次数

我怎么做这个工作?\n在文件路径中(非故意)

我必须阅读和写作f=open

使用时我的文件路径是:

f=open("N:\gcse_computing_my_name\component_2\neatest\Login.txt")(w)
Run Code Online (Sandbox Code Playgroud)

在此文件路径中使用\ N或\n会破坏我的代码.我无法更改文件夹名称,必须使用该文件夹.

我怎么能绕过这个?

python

3
推荐指数
1
解决办法
52
查看次数

无法使用单个未转义的反斜杠在 python 中存储 json

我正在为 REST 负载主体创建一个 json 主体,如下所示:

>>> j = json.loads('["foo", {"bar": ["to_be_replaced", 1.1, 1.0, 2]}]')
>>> text = "aaaa" + "\\" + "bbbbb" + "\\" + "cccc"
>>> j[1]["bar"][0] = text
>>> j
['foo', {'bar': ['aaaa\\bbbbb\\cccc', 1.1, 1.0, 2]}]
Run Code Online (Sandbox Code Playgroud)

烦人的是,另一边期望的格式是这样的

"aaaa\bbbb\cccc". 
Run Code Online (Sandbox Code Playgroud)

我知道这是一个糟糕的主意。

我已经尝试了所有方法,并且开始相信根本不可能将这种格式的文本存储在 json 对象中。有办法吗?或者我是否需要让 Web 服务的开发人员选择一个更合理的分隔符。

我知道这实际上是一个反斜杠,如果我打印,就会得到一个反斜杠

>>> print(text)
aaaa\bbbbb\cccc
Run Code Online (Sandbox Code Playgroud)

但这并不能帮助我将其放入 json 对象中。

python json escaping special-characters

2
推荐指数
1
解决办法
1881
查看次数