Python在指定文件夹生成随机文件

有时我们需要生成一些写有随机字符串的txt文件进行测试,这里我们采用生成随机字符串的形式来创建并命名文件,然后再在txt文件中生成随机的字符串作为内容写入到文件里面。整个过程很简单,但是可以作为一个模板在以后的应用中使用。当然别忘记要f.close()哦。

import random
import string

for i in range(50):
    ran_str = ''.join(random.sample(string.ascii_letters + string.digits, random.randint(5, 12)))
    fp = open("E:\\createdfile\\" + ran_str + ".txt", 'w+')
    fp.write(''.join(random.sample(string.ascii_letters + string.digits, random.randint(20, 40))))
    fp.close()
下面是一个简单的基于对抗网络生成图片并保存在指定文件夹内的Python代码: ```python import os import numpy as np import tensorflow as tf from tensorflow.keras.datasets import mnist from tensorflow.keras.layers import Input, Dense, Reshape, Flatten, Dropout from tensorflow.keras.layers import BatchNormalization, Activation, ZeroPadding2D from tensorflow.keras.layers import LeakyReLU from tensorflow.keras.layers import UpSampling2D, Conv2D from tensorflow.keras.models import Sequential, Model from tensorflow.keras.optimizers import Adam # 定义生成器模型 def build_generator(): model = Sequential() model.add(Dense(256, input_dim=100)) model.add(LeakyReLU(alpha=0.2)) model.add(BatchNormalization(momentum=0.8)) model.add(Dense(512)) model.add(LeakyReLU(alpha=0.2)) model.add(BatchNormalization(momentum=0.8)) model.add(Dense(1024)) model.add(LeakyReLU(alpha=0.2)) model.add(BatchNormalization(momentum=0.8)) model.add(Dense(np.prod((28, 28, 1)), activation='tanh')) model.add(Reshape((28, 28, 1))) noise = Input(shape=(100,)) img = model(noise) return Model(noise, img) # 定义判别器模型 def build_discriminator(): model = Sequential() model.add(Flatten(input_shape=(28, 28, 1))) model.add(Dense(512)) model.add(LeakyReLU(alpha=0.2)) model.add(Dense(256)) model.add(LeakyReLU(alpha=0.2)) model.add(Dense(1, activation='sigmoid')) img = Input(shape=(28, 28, 1)) validity = model(img) return Model(img, validity) # 加载MNIST数据集 (X_train, _), (_, _) = mnist.load_data() # 归一化数据 X_train = (X_train.astype(np.float32) - 127.5) / 127.5 X_train = np.expand_dims(X_train, axis=3) # 设置训练参数 epochs = 10000 batch_size = 32 save_interval = 1000 # 构建对抗网络 optimizer = Adam(0.0002, 0.5) discriminator = build_discriminator() discriminator.compile(loss='binary_crossentropy', optimizer=optimizer, metrics=['accuracy']) generator = build_generator() z = Input(shape=(100,)) img = generator(z) discriminator.trainable = False valid = discriminator(img) combined = Model(z, valid) combined.compile(loss='binary_crossentropy', optimizer=optimizer) # 开始训练 for epoch in range(epochs): # 随机选择一批真实图片 idx = np.random.randint(0, X_train.shape[0], batch_size) imgs = X_train[idx] # 生成一批噪声数据 noise = np.random.normal(0, 1, (batch_size, 100)) # 生成一批假的图片 gen_imgs = generator.predict(noise) # 训练判别器 d_loss_real = discriminator.train_on_batch(imgs, np.ones((batch_size, 1))) d_loss_fake = discriminator.train_on_batch(gen_imgs, np.zeros((batch_size, 1))) d_loss = 0.5 * np.add(d_loss_real, d_loss_fake) # 训练生成器 g_loss = combined.train_on_batch(noise, np.ones((batch_size, 1))) # 输出损失值 print("Epoch %d [D loss: %f, acc.: %.2f%%] [G loss: %f]" % (epoch, d_loss[0], 100 * d_loss[1], g_loss)) # 保存生成的图片 if epoch % save_interval == 0: os.makedirs('images', exist_ok=True) r, c = 5, 5 noise = np.random.normal(0, 1, (r * c, 100)) gen_imgs = generator.predict(noise) gen_imgs = 0.5 * gen_imgs + 0.5 fig, axs = plt.subplots(r, c) cnt = 0 for i in range(r): for j in range(c): axs[i, j].imshow(gen_imgs[cnt, :, :, 0], cmap='gray') axs[i, j].axis('off') cnt += 1 fig.savefig("images/mnist_%d.png" % epoch) plt.close() ``` 这段代码实现了一个简单的基于对抗网络生成手写数的图片,并将生成的图片保存在名为"images"的文件夹中。你可以根据自己的需求进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值