[英]How can I use user entered text as a filename in Streamlit?
我试图让用户输入文件名并将该文本用作必须上传到 GCS 存储桶的文件的文件名。 这就是我的代码的样子:
user_input = str(st.text_input("Name your file: "))
sweep_string = "_exponential_sweep_.wav"
inv_filter_string = "_inverse_filter_.wav"
ir_string = "_impulse_response_.wav"
if user_input:
wavfile.write(os.path.join(audio_files_path,
user_input + sweep_string), sample_rate, sweep)
wavfile.write(os.path.join(audio_files_path,
user_input + inv_filter_string), sample_rate, inverse)
wavfile.write(os.path.join(audio_files_path,
user_input + ir_string), sample_rate, ir)
我试图在 wavfile.write 之前将两个字符串添加到一个变量中,但没有任何变化。 如果我从 wavefile.write 中删除 user_input ,它可以工作,但我需要用户能够命名文件。
在写入之前为路径分配文件名
user_input = str(st.text_input("Name your file: "))
def write_wav_file(file_name, rate, data):
"""Write wav file base on input"""
save_file_path = os.path.join(audio_files_path, file_name)
wavfile.write(save_file_path, rate, data)
if user_input:
sweep_string = user_input + "_exponential_sweep_.wav"
inv_filter_string = user_input + "_inverse_filter_.wav"
ir_string = user_input + "_impulse_response_.wav"
write_wav_file(file_name=sweep_string, rate=sample_rate, data=sweep)
write_wav_file(file_name=inv_filter_string, rate=sample_rate, data=inverse)
write_wav_file(file_name=inv_filter_string, rate=sample_rate, data=ir)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.