一个脚本Python中包含多个脚本

时间:2019-06-04 17:14:56

标签: python python-3.x

我有两个脚本要组合成一个脚本,但是我需要等待最后一个脚本,直到第一个脚本完全执行为止。

脚本1正在执行某个API调用,该API提供了一个.txt读数,我需要将其转换为CSV。 脚本2将该数据转换为CSV。

我可以分别给他们打电话,但我不想,我只想用一个脚本就可以。

代码1:这需要首先运行。

with open('IDTag.txt') as file:
  **Code Removed**

代码2:这需要等到代码1完成100%之后再运行。

with open('File1.txt', 'r') as infile, open('File1.csv', 'w') as outfile:
   stripped = (line.strip() for line in infile)
   lines = (line.split(",") for line in stripped if line)
   writer = csv.writer(outfile)
   writer.writerows(lines)

这两个脚本都可以工作,因为我需要它们彼此独立,但是再次,我希望它们都生活在同一个文件中。 我试图寻找一个直接的答案,但是还没有找到任何可行的方法。我仍在学习Python 3,因此很可能缺少某些东西。有想法吗?

2 个答案:

答案 0 :(得分:1)

@ReedinationerI'll do you one better

这是连接python脚本并使用python将结果保存到新python文件中的方式。

def read(path):
  f = open(path, "r")
  content = f.read()
  f.close()
  return content

f3 = open("merged.py", "w")
f3.write("{}\n{}".format(read("1.py"), read("2.py")))
f3.close()

祝你好运。

答案 1 :(得分:0)

您应该能够将它们一个接一个放置,只要小心避免将一个嵌套在另一个中即可。也许您可以在第二个块中使用两个单独的WhenAll语句?我之前从未见过像这样的语法,所以不确定它是否有效(也许是这样)。我会尝试:

with

尽管我不确定它们之间的相关性,因为您的第二个块没有使用with open('IDTag.txt') as file: **Code Removed** with open('File1.txt', 'r') as infile with open('File1.csv', 'w') as outfile: stripped = (line.strip() for line in infile) lines = (line.split(",") for line in stripped if line) writer = csv.writer(outfile) writer.writerows(lines) 作为输入。