我有以下与Bash交互的Python函数。
如何使用call
或Popen
来回显文件1和文件2的值?那么类似于echo $file1 file2
但是从Python执行到Bash终端的东西?我的脚本目前比较两个文件的内容,但我想确保正在比较正确的文件。
def compareFiles(file1, file2)
result = Popen("diff " + file1 + " " + file2 + " | wc -l", shell=True, stdout=PIPE)
if int(result) > 0:
raise Exception("Error found")
else:
return 0
所以我知道我必须做call("echo file1 file2", shell=True, stdout=PIPE)
这样的事情,但它不起作用。什么是正确的格式?
答案 0 :(得分:1)
你有文件路径作为函数的参数:file1
和file2
。
在Python中打开并阅读它们。如果你没有必要,我们没有理由支持。
with open(file1, "rb") as f:
file1_data = f.read()
with open(file2, "rb") as f:
file2_data = f.read()
print(file1_data)
print(file2_data)
答案 1 :(得分:1)
如果您只想显示文件名的值,请使用:
print(file1 + " " + file2)