Python如何从sys.stdin.readline()中删除换行符

时间:2017-06-24 01:56:23

标签: python string stdin readline

我定义了一个连接用户给出的两个字符串的函数,但是sys.stdin.readline()返回的字符串包含换行符,所以我的输出看起来并不是连贯的(技术上) ,此输出仍然连接,但在两个字符串之间使用" \ n"。)如何摆脱换行符?

<asp:Wizard ID="Wizard1" runat="server" ActiveStepIndex="2" 
OnFinishButtonClick="Wizard1_FinishButtonClick" 
OnNextButtonClick="Wizard1_NextButtonClick">


            <!-- SidebarTemplate -->
            <SideBarTemplate>

                <!-- control that put on top of the Step List  -->
                <asp:Image ID="Image1" ImageUrl="IMG/topimage.jpg" ImageAlign="Top" runat="server" 
                    Width="10" Height="10"/>

                <!--Step List will auto generated here-->
                <asp:DataList ID="SideBarList" runat="server">
                    <ItemTemplate>
                        <asp:LinkButton ID="SideBarButton" runat="server"></asp:LinkButton>
                    </ItemTemplate>
                    <SelectedItemStyle Font-Bold="True" />
                </asp:DataList>


                <!-- control that put below the Step List -->
                <asp:Label ID="ButtomLabel" runat="server" Text="Label"></asp:Label>
            </SideBarTemplate>

            <WizardSteps>

              <!-- .....WizradSteps here.....  -->

            </WizardSteps>

控制台:

def concatString(string1, string2):
    return (string1 + string2)

str_1 = sys.stdin.readline()
str_2 = sys.stdin.readline()
print( "%s" % concatString(str_1, str_2))

我尝试了读取(n),其中包含n个字符,但它仍然附加了&#34; \ n&#34;

hello
world
hello
world

控制台:

str_1 = sys.stdin.read(5) '''accepts "hello" '''
str_2 = sys.stdin.read(3) '''accepts "\n" and "wo", discards "rld" '''

2 个答案:

答案 0 :(得分:1)

您可以将concatString替换为类似的内容:

def concatString(string1, string2):
    return (string1 + string2).replace('\n','')

答案 1 :(得分:1)

只需在输入的每个字符串上调用strip即可删除周围的字符。请务必阅读链接的文档,以确保您要对字符串执行哪种 strip

print("%s" % concatString(str_1.strip(), str_2.strip()))

修复该行并运行代码:

chicken
beef
chickenbeef

但是,基于您正在接受用户输入的事实,您应该采用更惯用的方法,并使用常用的输入。使用此功能也不需要您执行任何操作来删除不需要的字符。以下是帮助指导您的教程:https://docs.python.org/3/tutorial/inputoutput.html

然后你可以这样做:

str_1 = input()
str_2 = input()

print("%s" % concatString(str_1, str_2))