Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python更改文件扩展名?_Python - Fatal编程技术网

如何使用Python更改文件扩展名?

如何使用Python更改文件扩展名?,python,Python,我正在尝试制作一个程序,该程序将获取一个文件,比如说my\u test\u file.log,并生成一个名为my\u test\u file.mdn的新文件。我希望能够通过在命令行中键入python renameprogram.py my_test_file.log来使用此程序。原始文件将始终以.log结尾 from shutil import copyfile from glob import glob map(lambda x:copyfile(x,x[:-3]+"mdn"),glob("*

我正在尝试制作一个程序,该程序将获取一个文件,比如说
my\u test\u file.log
,并生成一个名为
my\u test\u file.mdn
的新文件。我希望能够通过在命令行中键入
python renameprogram.py my_test_file.log
来使用此程序。原始文件将始终以
.log
结尾

from shutil import copyfile
from glob import glob
map(lambda x:copyfile(x,x[:-3]+"mdn"),glob("*.log"))
或者更简单一点

...
import sys
copyfile(sys.argv[1],sys.argv[1][:-3]+"mdn")

您当然可以创建一个Python程序来实现这一点,但是已经有shell级别的命令可以实现这一点

对于Linux/Unix:

mv my_test_file.log my_test_file.mdn
对于Windows(请参见链接):


除了上面的链接,请看一下,我相信您甚至可以执行
mv*.log*.mdn
(+1)如果您想重命名当前目录中的所有文件,是的。我知道我可以使用unix执行此操作,但是我想用python来做这件事的原因是因为我需要从原始文件中获取一堆其他数据,并将其以不同的格式放入新文件中。如果可能的话,我想用一个程序来完成这一切,但这可能超出了我目前的能力,哈哈。这只是第一步。@JoranBeasley:不,那不是正确的语法。
*.mdn
不会扩展到您希望它扩展到的位置,并且
mv
会抱怨目标不是目录。
rename my_test_file.log my_test_file.mdn