我目前正在编写一个脚本,该脚本将解析特定字符串的文件并将文件重命名为该字符串。但是,此脚本将要处理的文件没有文件扩展名。它们在任何文本编辑器中都是可读的,但它们的属性窗口中没有通用“FILE”类型以外的文件类型。
我已经尝试过几天研究这个问题并且找不到任何特定于我的问题的文档是不成功的。 那么有没有打开,读取,重命名和保存没有指定文件扩展名的文件的python方法?
答案 0 :(得分:0)
查看this answer。
当您遍历文件列表时,您只需检查扩展名是否为空。
def file_has_no_extension(file_path):
"""
Return true if and only if the file has no extension.
"""
filename, file_extension = os.path.splitext('/path/to/somefile.ext')
return not file_extension
对于您的其余问题,请查看this等教程。
答案 1 :(得分:0)
您可以open()
或os.rename()
您有权访问的所有文件。如果它没有扩展名就无所谓了。
如果您不知道要重命名的哪些文件,则只需打开所有文件,阅读其内容并根据您要查找的文件进行操作。
import os
# Get a list of all files under the current directory
flist = []
for root, dirs, files in os.walk('.'):
flist += [os.path.join(root, f) for f in files]
# Go over each file and see if it contains the string foo
want = 'foo'
targets = []
for path in flist:
with open(path) as df:
data = df.read()
if want in data:
targets.append(path)
# The targets list now contains the paths of all the files that contain foo.