我正在尝试读取文件并输出结果。 我的文件 test.txt 拉维,卷曲 查兰,吉特 我需要打印如下 - {用户名:" ravi" ,应用:curl} - {用户名:" charan" ,应用:git}
我正在尝试如下
file = open("test.txt", "r")
for line in file.readlines():
line = line.strip()
parts = line.split("\n")
for part in parts:
print ("-" + "{" + "Username:" + "" + part[0:4] + " " + "Application:" + part[5:9] + "}")
输出继电器: - {用户名:ravi申请:curl} - {用户名:char申请:n,gi}
请让我知道如何修改代码以获得以下格式的Ou。
答案 0 :(得分:1)
将您的打印更改为此
print ('- ' + '{' + 'Username: ' + '"' + part[0:4] + '" ' + 'Application: ' + part[5:9] + '} ')
如果你想打印双引号,你可以转义双引号,如下所示:"\""
或用单引号括起来,如'"'
因为我坚持使用单引号方法,为了保持一致,我还将所有引号都改为单引号
答案 1 :(得分:1)
with open("test.txt", "r") as my_file:
for line in my_file:
line = re.findall('(\w+)', line)
print '{Username:"%s", Application:%s}' % (line[0], line[1])
print '{Username:"%s", Application:%s}' % (line[2], line[3])
答案 2 :(得分:0)
目前还不清楚你的文件是如何实际格式化的,尽管对于像你的例子那样格式化的字符串:
one, two three, four
您可能希望以不同方式将其拆分以便于管理,这样您就不必担心字符串拆分部分的确切长度。另一件需要考虑的事情就是你输出结果的方式 - 因为你现在已经非常容易混淆并且如果一个引号放错位置就容易遇到问题。 使用格式字符串!
s = ['one, two three, four']
for line in s:
line = line.replace(', ',':')
part = line.split(' ')
for name in part:
half = name.split(':')
print ('-{{Username:"{0}", Application:{1}}}'.format(half[0], half[1]))
<强>结果强>:
-{Username:"one", Application:two}
-{Username:"three", Application:four}
答案 3 :(得分:0)
我的最终代码效果很好。
import re
with open("test.txt", "r") as my_file:
for line in my_file:
line = re.findall('(\w+)', line)
print ' - {Username: '"%s"' , Application: %s}' % (line[0], line[1])
代码2
file = open("test.txt" , "r")
for line in file.readlines():
data = line.strip().split(',')
print ("-" + " " + "{" + "Username:\"" + data[0] + "\", " + "Application:" + data[1] + "}")