用作TXT格式的吉它谱等和弦谱的级数转换
通过列表对应的方式实现

# 原文件和弦
m_list = ['C', 'C#', 'D',  'D#', 'E',  'F',
          'F#', 'G',  'G#', 'A',  'A#', 'B',
          'C', 'C#', 'D',  'D#', 'E',  'F',
          'F#', 'G',  'G#', 'A',  'A#', 'B']

# 过渡使用的和弦标记
c_list = ['#1#', '#1+#', '#2#', '#2+#',  '#3#', '#4#',
          '#4+#', '#5#', '#5+#',  '#6#', '#6+#', '#7#',
          '#1#', '#1+#', '#2#', '#2+#',  '#3#', '#4#',
          '#4+#', '#5#', '#5+#',  '#6#', '#6+#', '#7#']

# 升降调对应列表
u_list = ['C#', 'D#', 'F#',  'G#',  'A#']
d_list = ['Db', 'Eb', 'Gb',  'Ab',  'Bb']

# 双升音阶的调整
a_list = ['C##', 'D##', 'F##',  'G##',  'A##']
b_list = ['D', 'E', 'G',  'A',  'B']

# 保留用作自动处理时使用
# filename = 'test.txt'
# new_filename = 'newtest.txt'
# add_num = int(input('请输入升几个半音:'))

print('本程序通过通过升半音的方法实现,降半音时请输入升(12-n)')
filename = input('请输入要转换的文件名(同目录):')
new_filename = input('请输入转换后的文件名(同目录):')
add_num = int(input('请输入升几个半音:'))

# 使用replace()方法进行替换
with open(filename, 'r') as file_object:
    musicfile = file_object.read()
    for i in range(12):
        musicfile = musicfile.replace(m_list[i], c_list[i+add_num])
    for i in range(12):
        musicfile = musicfile.replace(c_list[i], m_list[i])
    for i in range(5):
        musicfile = musicfile.replace(a_list[i],b_list[i])
    det = input('目前是升调表示方法,是否调整为降调表示方法?(Y/N):')
    det = det.upper()
    if det == 'Y':
        for i in range(5):
            musicfile = musicfile.replace(u_list[i], d_list[i])


with open(new_filename, 'w') as file_object:
    file_object.write(f'本谱已经过和弦级数的转换,升高{add_num}个半音\n')
    if det == 'Y':
        file_object.write('本谱已由升调表示方法调整为降调表示方法\n')
    file_object.write('\n\n')
    file_object.write(musicfile)

方法一:修改组策略

  1. win10系统的左下角搜索框内输入“组策略”,然后打开点击“编辑组策略”打开;或者同时按Win+R(同时键盘上的Windows图标键和R键),输入gpedit.msc点“确定”打开也一样。
  2. 在本地组策略中依次点击:计算机配置-管理模板-Windows组件-OneDrive,双击右侧“禁止使用OneDrive进行文件存储”。
  3. 点击“未配置”或“已禁用”;如果是“未配置”就改成“已禁用”,然后保存,就能打开onedrive了。

方法二:修改注册表

  1. 按Windows+R键打开运行窗口。
  2. 输入“regedit”并回车打开注册表。
  3. 找到HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\OneDrive路径。
  4. 点开DisableFileSyncNGSC文件并将其值设置成”0”。

word中的图片批量导出

将word文件另存为html格式,html文件的.files文件夹中,可以找到图片文件

安装库

pip install comtypes

引用

pip install comtypes

完整代码

import os
from comtypes import client

def word_to_pdf(input_path, output_path):
    # 创建 Word 应用对象
    word_app = client.CreateObject('Word.Application')
    
    # 启动 Word 应用程序(可见性设置为 False)
    word_app.Visible = False

    try:
        # 打开 Word 文档
        doc = word_app.Documents.Open(input_path)
        
        # 将 Word 文档保存为 PDF 格式
        doc.SaveAs(output_path, FileFormat=17)  # 文件格式为 PDF
        
        # 关闭 Word 文档
        doc.Close()

        print(f"已将 {input_path} 转换为 {output_path}")
    except Exception as e:
        print(f"转换失败: {e}")
    finally:
        # 退出 Word 应用程序
        word_app.Quit()

def batch_word_to_pdf(input_folder, output_folder):
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)

    for filename in os.listdir(input_folder):
        if filename.endswith(".docx") or filename.endswith(".doc"):
            input_path = os.path.join(input_folder, filename)
            output_path = os.path.join(output_folder, filename.rsplit(".", 1)[0] + ".pdf")
            word_to_pdf(input_path, output_path)

if __name__ == '__main__':
    input_folder = "D:/word2pdf/input_folder"  # 输入 Word 文档所在文件夹路径
    output_folder = "D:/word2pdf/output_folder"  # 输出 PDF 文件的保存路径

    batch_word_to_pdf(input_folder, output_folder)

最好放在根目录下,不容易出错