繁体   English   中英

调用python运行shell脚本

[英]Calling a python to run a shell script

我目前正在尝试通过使用python中的os.system方法运行shell脚本。

Python代码:

file = open("History.txt","w")
file.write(history)
os.system('./TFPupload.sh')

Shell脚本代码:

#!/bin/sh

HOST="ftp.finalyearproject95.com"
USER='*****'
PASSWD='*****'
FILE='History.txt'

ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
put $FILE
quit
END_SCRIPT

echo ">>>uploaded<<<\n"

exit 0

首先,当我尝试逐一运行python代码和shell脚本时,它可以完美运行。 但是,当我尝试使用python运行shell脚本时,不是将包含数据的“ History.txt”文件上传到数据库中,而是上传的文件为空文件。 当我使用'nano History.txt'检查时,它确实包含数据,只有将文本文件传递给数据库时,它才会为空。 为什么?

尽可能使用With语句打开文件。

with open("History.txt","w") as file :
  file.write(history)

os.system('./TFPupload.sh')

with语句负责自行关闭fd。

一些参考: python“ with”语句的目的是什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM