我有以下代码,它将我的文件拆分为4列以进行分隔 文件。最后一栏"输了"他的新台词。 我怎么能保留它们?
for line in routeFile:
if line.__contains__("internal"):
# split the line into a list of columns values
fields = line.split()
if len(fields) >= 2:
print(fields[1], file=file_hosts) # Prints the 2nd column - the hosts
if len(fields) >= 3:
print(fields[2], file=file_domain) # Prints the 3rd column - the domain
if len(fields) >= 4:
print(fields[3], file=file_apps) # Prints the 4th column - the apps
编辑: 这是我的文件,我需要应用列保持原样(使用应用之间的换行符)
> space host domain apps
> abc cloudconfiguration cfdev.internal
> abc globalbootstrap cfdev.internal globalbootstrap
> abc tenant-management cfdev.internal
> abc uaa-management cfdev.internal
> abc tenant cfdev.internal tenant
答案 0 :(得分:0)
您可以再次明确添加换行符:
for line in routeFile:
if line.__contains__("internal"):
# split the line into a list of columns values
fields = line.split()
if len(fields) >= 2:
print(fields[1], file=file_hosts) # Prints the 2nd column - the hosts
if len(fields) >= 3:
print(fields[2], file=file_domain) # Prints the 3rd column - the domain
if len(fields) >= 4:
print(fields[3] + '\n', file=file_apps) # Prints the 4rt column - the apps
答案 1 :(得分:0)
您可以使用空字符串扩展字段,因此该列表中始终有四个值,即使该行中的列数较少:
Orientation
这样,应用程序文件中的空行将在输入文件的apps列中显示空单元格。这不适用于其他两个文件。如果那些对应列中的空单元格也应该有空行,则必须为它们删除<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ListBox Grid.Row="0" ItemsSource="{Binding MessageList ...}"/>
<WrapPanel Grid.Row="1" HorizontalAlignment="Center">
<Button Content="Expand" HorizontalAlignment="Left" Margin="0,0,40,0"/>
</WrapPanel>
</Grid>
。
答案 2 :(得分:-1)
这是我的工作解决方案:
for line in routeFile:
if line.__contains__("internal"):
# split the line into a list of columns values
fields = line.split()
fields.extend(line.split())
fields.append('\n')
if len(fields) >= 2:
print(fields[1], file=file_hosts) # Prints the 2nd column - the hosts
if len(fields) >= 3:
print(fields[2], file=file_domain) # Prints the 3rd column - the domain
if len(fields) >= 4:
print(fields[3], file=file_domain) # Prints the 4th column - the apps