我正在尝试在函数中连接两个字符串。我尝试了所有串联,但是那两个字符串只是不一个接一个地串联,而是用较短的字符串B(length = s)代替较长的字符串A的前s个单元。
我从输入文件中读取了一些数据,并将内容为“ 00001M035NNYY1111111”的第三行存储到称为申请人的变量中:
data = open("input.txt").read().split('\n')
applicant = str(data[2])
我想在applicant
的末尾添加一个整数8,所以新的applicant
将是“ 00001M035NNYY11111118”。我尝试了applicant += str(8)
和"".join((applicant, str(8)))
以及其他串联方法,但是它们都只给我“ 80001M035NNYY1111111” ...有人知道为什么会这样吗,我应该怎么做才能获得预期的结果。
答案 0 :(得分:1)
您的文件中可能包含Windows行尾:SQL> accept par_some_value prompt 'Enter some number: '
Enter some number: 5545
SQL> begin
2 demo_Table(&par_some_value);
3 end;
4 /
old 2: demo_Table(&par_some_value);
new 2: demo_Table(5545);
You entered number 5545
PL/SQL procedure successfully completed.
SQL>
。通过在\r\n
上分割,您将离开\n
,它返回到行的开头。您可以手动修剪它:
\r
答案 1 :(得分:0)
这应该有效
[GCC 7.3.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> data = open("input.txt").read().split("\n")
>>> applicant = data[2] + str(8)
>>> print applicant
00001M035NNYY11111118
>>>
如果这不起作用,则您的文本文件可能有问题。