Python 将for循环输出转换为字符串
如何将此循环的输出转换为此格式的字符串 ABCDEF,BCDEFG,CDEFGH,DEFGHIPython 将for循环输出转换为字符串,python,Python,如何将此循环的输出转换为此格式的字符串 ABCDEF,BCDEFG,CDEFGH,DEFGHI fileHandle = open( 'urls.txt', 'r' ) raw_URLS = fileHandle.readlines() for items in raw_URLS: print(items[26:32]) fileHandle.close() URL.txt: www.example.com/directory/ABCDEF/pagename www.example
fileHandle = open( 'urls.txt', 'r' )
raw_URLS = fileHandle.readlines()
for items in raw_URLS:
print(items[26:32])
fileHandle.close()
URL.txt:
www.example.com/directory/ABCDEF/pagename
www.example.com/directory/BCDEFG/pagename
www.example.com/directory/CDEFGH/pagename
www.example.com/directory/DEFGHI/pagename
您可以在列表中使用str.join:
data = ','.join([item[26:32] for item in open( 'urls.txt', 'r' )])
您可以在循环之前创建一个变量来存储字符串,然后在连接字符串的循环上迭代 您的代码如下所示:
string_you_want = ''
fileHandle = open( 'urls.txt', 'r' )
raw_URLS = fileHandle.readlines()
for items in raw_URLS:
string_you_want = string_you_want + items[26:32] + ','
print(items[26:32])
fileHandle.close()
试试这个:
f=open("urls.txt")
for line in f:
print (line[26:32])
如果您的url模式相同,请尝试:
import re
result=[]
pattern=r'[A-Z]+'
with open('new_file.txt','r') as f:
for line in f:
if re.search(pattern,line):
result.append(re.search(pattern,line).group())
print(result)
输出:
['ABCDEF', 'BCDEFG', 'CDEFGH', 'DEFGHI']
条目[26:32]似乎已经是每个URL所需的部分。那么你为什么还需要一个正则表达式呢?@mkrieger1我添加了一个解决方案来解释这个问题。是的,这就是解决方案。把第一部分放远点,它只会分散你的注意力。