myArray = []
textFile = open("file.txt")
lines = textFile.readlines()
for line in lines:
myArray.append(line.split(" "))
print (myArray)
此代码输出
[['a\n'], ['b\n'], ['c\n'], ['d']]
我需要做什么才能输出
a, b, c, d
答案 0 :(得分:2)
您在结果中添加list
(split
会返回一个列表)。而且,指定" space"对于拆分字符不是最好的选择,因为它不会删除换行符,回车符,双空格,这会创建一个空元素。
你可以使用列表理解来实现这一点,不用参数拆分项目(所以\n
自然消失了)
with open("file.txt") as lines:
myArray = [x for line in lines for x in line.split()]
(注意with
块,因此文件在退出后立即关闭,双循环到"将列表列表展平为单个列表:可以处理多个元素一行)
然后,要么打印数组的表示
print (myArray)
得到:
['a', 'b', 'c', 'd']
或使用逗号+空格
生成连接字符串print(", ".join(myArray))
结果:
a, b, c, d
答案 1 :(得分:0)
您可以执行以下操作:
myArray = [[v.strip() for v in x] for x in myArray]
这将删除所有格式化字符。
如果您不希望每个角色都在自己的数组中,那么您可以这样做:
myArray = [v[0] for v in myArray]
要打印,然后'print(','。join(myArray))
答案 2 :(得分:0)
看起来你应该使用strip()(trim空格)而不是split()(它会生成一个字符串块列表。
$processId = (Start-Process notepad -PassThru).Id
if ( Get-Process -Id $processId -ErrorAction SilentlyContinue ) {
"Process is running"
}
然后打印(myArray)'将生成:
myArray.append(line.strip())
打印a,b,c,d'你可以使用join():
['a', 'b', 'c', 'd']
答案 3 :(得分:0)
您可以尝试以下内容:
import re
arr = [['a\n'], ['b\n'], ['c\n'], ['d']]
arr = ( ", ".join( repr(e) for e in arr ))
arr = arr.replace('\\n', '')
new = re.sub(r'[^a-zA-Z0-9,]+', '', arr)
print(new)
结果:
a,b,c,d