获取命令行的文件名
Get name of file for command line
我希望有人能教我如何获取文件名,然后将其作为字符串的一部分。我希望能够保存一个文件,然后使用该文件的名称来执行命令行。这是我目前所拥有的。
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")
这里有一个使用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"
from os import path
print(path.splitext("filename.inp")[0]+".out")
即使您的文件名中有多个句点,此方法也有效,并且不计算用于制作隐藏文件的文件名开头的句点。
我希望有人能教我如何获取文件名,然后将其作为字符串的一部分。我希望能够保存一个文件,然后使用该文件的名称来执行命令行。这是我目前所拥有的。
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")
这里有一个使用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"
from os import path
print(path.splitext("filename.inp")[0]+".out")
即使您的文件名中有多个句点,此方法也有效,并且不计算用于制作隐藏文件的文件名开头的句点。