[英]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.