我希望有人可以教我如何获取文件名,然后将其作为字符串的一部分。我希望能够保存文件,然后使用该文件的名称来执行命令行。这是我到目前为止所拥有的。
def save(self):
filename = QtGui.QFileDialog.getSaveFileName(self, "Save file", "", ".inp")
if filename == "":
pass
else:
nfile = open(filename, 'w')
self.cursor.movePosition(self.cursor.Start, self.cursor.MoveAnchor)
self.cursor.movePosition(self.cursor.End, self.cursor.KeepAnchor)
text = self.cursor.selection()
text1 = text.toPlainText()
nfile.write(text1)
nfile.close()
我想获取刚创建的文件的名称并将其插入此行:
import os
os.system("rungms file_name.inp 13-64 1 0 file_name.out")
答案 0 :(得分:1)
这是使用QT方便QFileInfo
的解决方案。它将使用文件名或路径。
filename="myFileName.something"
fileInfo=QtCore.QFileInfo(filename)
name=fileInfo.baseName()
myCommand="rungms %s.inp 13-64 1 0 %s.out"%(name,name)
或没有QT:
filename="myFileName.something"
name=filename.split(".")[0]
myCommand="rungms %s.inp 13-64 1 0 %s.out"%(name,name)
注意:使用“filename.foo1.foo2”,第一种方法将为您提供“filename.foo1”,第二种方法为“filename”
答案 1 :(得分:0)
from os import path
print(path.splitext("filename.inp")[0]+".out")
即使文件名中有多个句点,也不会计算用于制作隐藏文件的文件名开头的句号。