从 oracle 修剪字符串
Trimming string from oracle
我正在尝试比较两个文件名列表并提供差异列表,但效果很差。我已经阅读并尝试了众多可用示例。
在将其作为重复项或已回答项关闭之前,请进一步阅读。
在 python 中,我正在通过 ftp 进行调用以获取文件列表。这 returns 是预期的数组。接下来,我调用 Oracle 来检索文件名列表。
这个 returns 文件名数组,但是 cx_oracle 模块 returns 它们是 ('filename',)
。当我进行比较时,它正在将文件名与 ('filename',)
进行比较,但失败了。我需要在比较之前删除单引号、括号和逗号。但我的运气为零。
我正在尝试使用切片从字符串中 trim 这些额外的字符,但这是失败的。
for file from resultset:
print file
print file[2:10]
这个 returns ()
,而不是预期的文件名。
我尝试过对字符串进行切片,我尝试过使用 awk,但是元字符让这变得困难。
如果有人可以提供指导,我将不胜感激。
我在本该花几分钟的事情上花了几个小时。
谢谢你,艾伦
所以首先,如果你想删除字符串两边的字符,你可以使用 lstrp
和 rstrip
。
>>> "('filename')".lstrip("('")
'filename')'
>>> "('filename')".rstrip("')")
"('filename"
但我怀疑 return 数据实际上是一个元组而不是字符串
>>> ('filename',)
('filename',)
>>> type(('filename',))
<class 'tuple'>
>>> ('filename',)[2:20]
()
这会让你说
('filename',)[0]
'filename'
我正在尝试比较两个文件名列表并提供差异列表,但效果很差。我已经阅读并尝试了众多可用示例。 在将其作为重复项或已回答项关闭之前,请进一步阅读。
在 python 中,我正在通过 ftp 进行调用以获取文件列表。这 returns 是预期的数组。接下来,我调用 Oracle 来检索文件名列表。
这个 returns 文件名数组,但是 cx_oracle 模块 returns 它们是 ('filename',)
。当我进行比较时,它正在将文件名与 ('filename',)
进行比较,但失败了。我需要在比较之前删除单引号、括号和逗号。但我的运气为零。
我正在尝试使用切片从字符串中 trim 这些额外的字符,但这是失败的。
for file from resultset:
print file
print file[2:10]
这个 returns ()
,而不是预期的文件名。
我尝试过对字符串进行切片,我尝试过使用 awk,但是元字符让这变得困难。
如果有人可以提供指导,我将不胜感激。
我在本该花几分钟的事情上花了几个小时。
谢谢你,艾伦
所以首先,如果你想删除字符串两边的字符,你可以使用 lstrp
和 rstrip
。
>>> "('filename')".lstrip("('")
'filename')'
>>> "('filename')".rstrip("')")
"('filename"
但我怀疑 return 数据实际上是一个元组而不是字符串
>>> ('filename',)
('filename',)
>>> type(('filename',))
<class 'tuple'>
>>> ('filename',)[2:20]
()
这会让你说
('filename',)[0]
'filename'