我正在努力创造一些
到目前为止我已经
了users = open('users.txt', "r")
userL = users.read().splitlines()
我想要做的就是打开文本文件,每个字符串已经分开1行,然后将Python部分放入数组中,获取第一个字符串并将其设置为变量。从那里变量将用于xbox.com的URL。
在检查之后,我将有一些JSON读取页面并查看我使用的gamertag列表是否正在使用,如果正在使用它将返回到数组并转到第二个字符串并检查。这需要是一个检查gamertags的恒定循环。如果它确实在数组中找到了一个未使用的游戏结果(来自文本文件),它会将其保存到另一个名为“可用游戏标签”的文本文件中并继续前进。
我想要它做什么(在评论中要求)
这样做的问题是我不知道如何回到文件并在刚刚测试完之后访问该行并继续此模式直到文件被完全读取。
答案 0 :(得分:0)
为了帮助您入门,以下代码将按顺序从头到尾读取整个文件,并分别打印每一行:
with open(r"path/to.file.txt") as fin:
for line in fin.readlines():
print(line) # Python 2.7: Use 'print line' instead
如果您需要从每个字符串中删除尾随的新行,请使用.strip()
。
要将数据写入文件,请使用以下内容:
with open(r"path/to/out/file.txt", "w") as fout:
fout.writelines(data_to_write)
答案 1 :(得分:0)
使用for循环:
with open("users.txt") as f:
for line in f:
# do whatever with the line
例如,要在此实现目标,您可以执行以下操作:
# import our required modules
import json
import urllib2
# declare some initial variables
input_file = "users.txt"
output_file = "available_tags.txt"
available_tags = [] # an empty list to hold our available gamertags
# open the file
with open(input_file) as input_f:
# loop through each line
for line in input_f:
# strip any new line character from the line
tag = line.strip()
# set up our URL and open a connection to the API
url = "http://360api.chary.us/?gamertag=%s" % tag
u = urllib2.urlopen(url)
# load the returned data as a JSON object
data = json.loads(u.read())
# check if the gamertag is available
if not data['GamertagExists']:
# print it and add it to our list of available tags if so
print "Tag %s is available." % tag
available_tags.append(tag)
else:
print "Tag %s is not available." % tag #otherwise
# check that we have at least one valid tag to store
if len(available_tags) > 0:
# open our output file
with open(output_file, "w") as output_f:
# loop through our available tags
for tag in available_tags:
# write each one to the file
output_f.write("%s\n" % tag)
else:
print "No valid tags to be written to output file."