Python 2.7 python代码的输入查询
所以我为我的研究创建了这段代码,但我想将其用于大量数据文件,我不想手动执行,这意味着在代码中重新键入一些行以使用所需的文件。如何在python中使用输入命令我在Windows操作系统上使用Python2.7来更快地使用它,只需键入所需数据文件的名称。到目前为止,我的代码是:Python 2.7 python代码的输入查询,python-2.7,pycharm,Python 2.7,Pycharm,所以我为我的研究创建了这段代码,但我想将其用于大量数据文件,我不想手动执行,这意味着在代码中重新键入一些行以使用所需的文件。如何在python中使用输入命令我在Windows操作系统上使用Python2.7来更快地使用它,只需键入所需数据文件的名称。到目前为止,我的代码是: import iodata as io import matplotlib.pyplot as plt import numpy as np import time from scipy.signal import welc
import iodata as io
import matplotlib.pyplot as plt
import numpy as np
import time
from scipy.signal import welch
from scipy import signal
testInstance = io.InputConverter()
start = time.time()
conversionError = io.ConversionError()
#data = testInstance.convert(r"S:\Doktorat\Python\", 1", conversionError)
data = testInstance.convert(r"/Users/PycharmProjects/Hugo/20160401", "201604010000", conversionError)
end = time.time()
print("time elapsed " + str(end - start))
if(conversionError.conversionSucces):
print("Conversion succesful")
if(conversionError.conversionSucces == False):
print("Conversion failed: " + conversionError.conversionErrorLog)
print "Done!"
# Create a new subplot for two cannals 1 & 3
a = np.amin(data.data)
Bx = data.data[0,]
By = data.data[1,]
dt = float(300)/266350
Fs = 1/dt
t = np.arange(0,300,dt*1e3)
N = len(Bx)
M = len(By)
time = np.linspace(0,300,N)
time2 = np.linspace(0,300,M)
filename = 'C:/Users/PycharmProjects/Hugo/20160401/201604010000.dat'
d = open(filename,'rb')
degree = u"\u00b0"
headersize = 64
header = d.read(headersize)
ax1 = plt.subplot(211)
ax1.set_title(header[:16] + ', ' + # station name
'Canals: '+header[32:33]+' and '+header[34:35]+ ', ' # canals
+'Temp'+header[38:43]+degree+'C' # temperature
+', '+'Time:'+header[26:32]+', '+'Date'+' '+header[16:26]) # date
plt.ylabel('Pico Tesle [pT]')
plt.xlabel('Time [ms]')
plt.grid()
plt.plot(time[51:-14], Bx[51:-14], label='Canal 1', color='r', linewidth=0.1, linestyle="-")
plt.plot(time2[1:-14], By[1:-14], label='Canal 3', color='b', linewidth=0.1, linestyle="-")
plt.legend(loc='upper right', frameon=False, )
# Create a new subplot for FFT
plt.subplot(212)
plt.title('Fast Fourier Transform')
plt.ylabel('Power [a.u.]')
plt.xlabel('Frequency Hz')
xaxis2 = np.arange(0,470,10)
plt.xticks(xaxis2)
fft1 = (Bx[51:-14])
fft2 = (By[1:-14])
plt.grid()
# Loop for FFT data
for dataset in [fft1]:
dataset = np.asarray(dataset)
freqs, psd = welch(dataset, fs=266336/300, window='hamming', nperseg=8192)
plt.semilogy(freqs, psd/dataset.size**0, color='r')
for dataset2 in [fft2]:
dataset2 = np.asarray(dataset2)
freqs2, psd2 = welch(dataset2, fs=266336/300, window='hamming', nperseg=8192)
plt.semilogy(freqs2, psd2/dataset2.size**0, color='b')
plt.show()
正如您所看到的,在某些地方,最好将输入放在其中,当我运行代码时,我可以将文件名等写入python,而不是在代码中使用指定的信息创建每个pythonfile。
顺便说一句,我在python中使用Pycharm。如果您只是想摆脱硬编码的路径名,那么您应该能够使用输入变量格式化名称字符串
name = raw_input("Name: ")
measurement = raw_input("Measurement: ")
filename = "C:/Users/PycharmProjects/{0}/{1}".format(name, measurement)
请参见和那么您只是希望文件名不要硬编码?@Carcigenicate我想我的问题不是太具体。看,我有测量站的数据,这是雨果。从这些站我有大量的测量数据,保存在文件中。我需要的是运行我的代码,只需键入输入命令,例如File:Hugo,Measurement:20160401000并运行它。欢迎来到社区。如果答案帮助你解决了问题,你应该接受它。看见